为了账号安全,请及时绑定邮箱和手机立即绑定

js遍历问题?

js遍历问题?

慕哥6287543 2018-11-14 13:13:30
我需要查找数组中是否存在不一样的值,存在的话执行函数x,不存在的话执行函数y。但是用for循环的话,开始如果遇到一样的会执行y,直到遇到不一样的才会执行x,如何让他全部遍历完在执行相应的函数?
查看完整描述

1 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

用for循环的话,需要在for外面定义一个变量作为标志位:

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给数组去重,然后判断两个数组长度:

const arr = [1, 2, 3, 5, 6, 6, 7];

const arr1 = Array.from(new Set(arr));

console.log(arr.length === arr1.length);


查看完整回答
反对 回复 2018-12-28
  • 1 回答
  • 0 关注
  • 506 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号