この記事では、例を使用して、js の for in ループと Java の foreach ループの違いを分析します。皆さんの参考に共有してください。具体的な分析は次のとおりです:
js の for in ループは次のように定義されています:
for(var variable in obj) { ... }
obj は通常の js オブジェクトまたは配列にすることができます。 obj が js オブジェクトの場合、トラバーサル中に取得される変数は、オブジェクトの属性の名前であり、属性に対応する値ではありません。 obj が配列の場合、トラバーサル中に取得される変数は配列の添字です。
オブジェクトのトラバース実験:
var v = {}; v.field1 = "a"; v.field2 = "b"; for(var v in v) { console.log(v); }
コンソール出力:
field1
field2
配列のトラバース実験:
var mycars = new Array() mycars[0] = "Saab" mycars[1] = "Volvo" mycars[2] = "BMW" for (var x in mycars){ console.log(x); }
コンソール出力:
0
1
2
比較のために Java Foreach ループを取得する, 大きな違いは2つあります。まず、Java の foreach ループは Java オブジェクトのプロパティを列挙しません。次に、Java の foreach ループが配列または Iterable インターフェイスを実装するオブジェクトを列挙する場合、for (Object o : list) では、オブジェクト o はリスト内の添字ではなく、リストの要素を取得します。
Java トラバーサル コードは投稿されません。私はバックグラウンド コードを書くことが多く、foreach ループは非常に馴染みがあります。フロントエンドの JS コードを記述する場合、Java 構文を適用することは避けられないため、初めて JS の for in ループを使用したときに間違いを犯しました。今回わかりやすくまとめておけば、今後失敗することはありません。
この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。
js の for in ループと Java の foreach ループの違い分析に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。