ホームページ >ウェブフロントエンド >jsチュートリアル >jsのfor inループとjavaのforeachループの違いの分析

jsのfor inループとjavaのforeachループの違いの分析

高洛峰
高洛峰オリジナル
2017-01-21 15:52:331655ブラウズ

この記事では、例を使用して、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 サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。