如何遍历angular.forEach并仅显示一次结果

时间:2017-07-26 17:25:59

标签: javascript angularjs arrays foreach

我想遍历一个数字数组,看看它是否与我要检查的变量匹配。它正在进行正确的检查,但每次检查时都会显示结果。我想要它做的是....做检查,只在结束后吐出结果。有没有办法做到这一点?

layout false

3 个答案:

答案 0 :(得分:3)

不要在循环内打印消息。你需要保持一个标志,以确定它是否发现。然后打印到最后。

但是你不需要这里的foreach。只需尝试indexOf功能。

 if (sponsorNumber.indexOf(myNumber) < 0 ) {              
       console.log('doesnt match!');
   }

答案 1 :(得分:0)

为什么不使用简单的Array.prototype.indexOf()来做你真正想要的事情?如果它返回-1,那么你知道数组不包含你的数字。如果已经是一个完美的轮子,就没有必要重新发明轮子。

答案 2 :(得分:0)

如果这就是你想要的,你可以过滤然后循环(效率较低):

sponsorNumber.filter(value => value !== myNumber).forEach(function(value) {
    console.log('doesnt match!');
});

但这对我来说并没有多大意义。我认为你想要其他东西,就像其他人所评论的那样,使用indexOf