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