2017-07-26 10 views
1

数値の配列をループして、チェックしたい変数と一致するかどうかを確認したい。チェックは正しく行われていますが、チェックするたびに結果が表示されます。私はそれが欲しいのは....チェックを行い、終了したばかりの結果を吐き出すだけです。それを行う方法はありますか?angular.forEachをループして一度だけ結果を表示する方法

  var myNumber = 123; 
      var sponsorNumber = [345, 234, 525]; 

      angular.forEach(sponsorNumber, function(value) { 
       if (value !== myNumber) {    
       console.log('doesnt match!'); 
       } 
      }); 

答えて

3

ループ内でメッセージを印刷しないでください。あなたが見つけた天気の旗を維持する必要があります。そして最後に印刷します。

ここでforeachは必要ありません。ちょうどindexOf機能を試してください。

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

Array.prototype.indexOf()なぜあなたは実際に何をしたいのですか? -1を返すと、配列にはnumberが含まれていないことがわかります。既に完璧なものがあれば、ホイールを再発明する必要はありません。

0

それはあなたが望むなら、あなたはフィルタリングして、ループ(効率の低い)ことができます。

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

しかし、それは私にはあまり意味がありません。他の人がコメントしたように、indexOfを使用して、他のものが欲しいと思います。

関連する問題