慕哥6287543
2018-11-14 13:13:30
我需要查找數(shù)組中是否存在不一樣的值,存在的話執(zhí)行函數(shù)x,不存在的話執(zhí)行函數(shù)y。但是用for循環(huán)的話,開始如果遇到一樣的會執(zhí)行y,直到遇到不一樣的才會執(zhí)行x,如何讓他全部遍歷完在執(zhí)行相應(yīng)的函數(shù)?
1 回答

慕神8447489
TA貢獻(xiàn)1780條經(jīng)驗 獲得超1個贊
用for循環(huán)的話,需要在for外面定義一個變量作為標(biāo)志位:
const arr = [1, 2, 3, 5, 6, 6 , 7];
let has = false;
for(let i = 0; i < arr.length; i++) {
if (arr.indexOf(arr[i]) !== i) {
has = true;
break;
}
};
if (has) {
console.log('x');
} else {
console.log('y');
}
如果支持ES6的話,可以用Set給數(shù)組去重,然后判斷兩個數(shù)組長度:
const arr = [1, 2, 3, 5, 6, 6, 7];
const arr1 = Array.from(new Set(arr));
console.log(arr.length === arr1.length);
添加回答
舉報
0/150
提交
取消