アレイトラバーサル比較のためのオブジェクトメソッド

配列は、例えば、JavaScriptはトラバーサル構文を用意しています。最も独創言葉遣いがされてfor循環します。

用(VARインデックス= 0、インデックス<myArray.length;インデックス++){ 
  にconsole.log(myarrayの[インデックス])。
}

  

言葉遣いはあまりにも面倒であるため、ビルトインの配列を提供forEachする方法を。

myArray.forEach(関数(値){ 
  にconsole.log(値); 
});

 

ハーフウェイの外にすることはできません質問の文言forEachループ、breakコマンドまたはreturnコマンドが有効ではありません。

for...inキーは、ループアレイを横断することができます。

VARの指標MyArrayという){ 
  にconsole.log(myarrayの[インデックス])。
}

 

for...in循環はいくつかの欠点があります。

  • デジタルアレイキーが、for...inサイクルは、キー「0」のような文字列であり、「1」、「2」というように。
  • for...inのみトラバーサルサイクル数字キーは、他のキーを手動でトラバース、およびプロトタイプチェーン上でも重要な追加されるわけではありません。
  • いくつかのケースでは、for...inサイクルは、任意の順序でキーを横断します。

要するに、for...inサイクルは主に物体を横断するように設計され、それはアレイを横切る適用されません。

以下のために...上記のアプローチと比較して、数サイクルの、いくつかの重要な利点があります。

(LET MyArrayというの値){ 
  にconsole.log(値); 
} 
これらの欠点にするための...同じ簡潔な構文ではなく、...についても同様に有しています。
forEachのメソッドとは異なり、それは、壊れることがあり、使用を継続して返します。
すべてのデータ構造を介して統一されたユーザインタフェースを提供します。
ここだブレークのための...サイクルの例声明アウトが。

ためVAR のnのフィボナッチ){
   IF(N、> 1000 BREAK ; 
  はconsole.log(N-); 
} 
上記の例では、出力フィボナッチ少なくなるアイテム1000 現在の項目が1000より大きい場合は、ループの外のため... break文の使用されます。

 

 

おすすめ

転載: www.cnblogs.com/followme789/p/10968875.html