次の例は、for...ofループとfor...inループの違いを示しています。10が必要であることを考慮する必要があります。これは、次の構文を使用します。9以降でサポートされています。最後に、多くのユーティリティライブラリにも独自のforeachのバリエーションがあります。++i)とは異なります)。繰り返し処理する場合など、逆方向に繰り返し処理する必要がある場合もあります。配列をループ処理するユースケースもあります。times});注意:Array.prototype.forEach()は厳密には機能的な方法ではありません。入力パラメータとして使用する関数は値を返すことを想定していないため、純粋な関数と見なすことはできません。300]注:map()メソッドは、呼び出し元の配列内のすべての要素に対して提供されている関数を呼び出した結果を使用して、新しい配列を作成します。2005.元のものに基づいて、それを変更せずに新しい配列を作成します。注:filter()メソッドは、提供された関数によって実装されたテストに合格したすべての要素を含む新しい配列を作成します。'john');console.log(john);Array.prototype.find()メソッドは、提供されたテスト関数を満たす配列の最初の要素の値を返します。YuciJavaScriptで配列をループするにはさまざまな方法があります。確認することもできます。RizN81ループ内に暗黙のスコープがほとんどなく、余分な変数を削除する場合は、これを実行する方法があります。上の他のメソッドのホストをサポートしています。ライブラリを利用することを強くお勧めします。それはあなたが配列/コレクションを反復処理するために使用できるさまざまな関数を提供します。bzimはい、JavaScriptでもループを使用して同じことを実行できますが、JavaScripで配列をループ処理する多くの方法があります。この配列を下に配置して、ループ処理を実行するとします。5];これらは解決策です:1)forループForループは、JavaScriptで配列をループ処理する一般的な方法ですが、大規模な配列の最速の解決策とは見なされていません。console.log(arr[i]);}2)whileループWhileループは長い配列をループ処理する最も速い方法と考えられていますが、通常JavaScriptではあまり使用されていません。間に行う以下と同じように構文を変えながら、同じことをしながら行います。(arr.length>i);これらは、JavaScriptループを実行するための主な方法ですが、それを実行する方法は他にもいくつかあります。inループを使用します。JavaScriptのArrayのmap()、filter()、reduce()などの関数もご覧ください。彼らはwhileとforを使うよりはるかに速くそしてより良いことをするかもしれません。JavaScriptの配列に対する非同期関数についてもっと学びたいなら、これは良い記事です。最近では関数型プログラミングが開発の世界でかなりのスプラッシュをしています。正当な理由のために:機能的な技法は、一目でわかりやすく理解しやすい宣言的なコードを書くのに役立ちます。関数型プログラミングの礎石の1つは、リストとリスト操作の特別な使用法です。それらのことは、まさにがそうであるように聞こえるものです:ものの配列とあなたがそれらにするものしかし、機能的な考え方はそれらをあなたとは少し異なって扱います期待するかもしれません。3」リスト操作(map、filter、およびreduce)を呼び出したいものについて詳しく説明します。これらの3つの関数を頭で囲むことは、きれいな機能コードを書くことができるようにするための重要なステップであり、関数型およびリアクティブ型プログラミングの強力な技法への扉を開きます。これはまた、forループを二度と書く必要がなくなることを意味します。使用を検討してください。オブジェクトと配列の両方をシームレスに反復するために使用できる一般的な反復子関数。lengthプロパティを持つ配列や配列のようなオブジェクト(関数のargumentsオブジェクトなど)は、0からlength-1までの数値インデックスで繰り返されます。他のオブジェクトはそれらの指定されたプロパティを通して反復されます。$.each()関数は$(selector).each()と同じではありません。これはjQueryオブジェクトを排他的に反復するために使用されるです。関数は、マップ(JavaScriptオブジェクト)であれ配列であれ、任意のコレクションを反復処理するために使用できます。配列の場合、コールバックには時間ごとに配列インデックスと対応する配列値が渡されます。(thisキーワードでも値にアクセスできますが、単純な文字列または数値であっても、Javascriptは常にthis値をObjectとしてラップします)。cachedと一緒に使用すると、はるかに速い方法です。something}Array.prototype.forEach()メソッドとArray.prototype.map()メソッドは、おそらく関数呼び出しのオーバーヘッドの結果として、最も遅い近似です。colxi私はまだこのバリエーションを見ていませんでした。"array"];Lengthプロパティにアクセスしなくても、ループすることができます。sparseである配列に対してのみ機能します。配列の各インデックスに実際に値があることを意味します。実際にはJavascriptでスパース配列を使用することはほとんどありません。そのような場合は、通常、オブジェクトをマップ/ハッシュテーブルとして使用するほうがはるかに簡単です。i)の構文が必要ですが、それでもifの内側にifが必要です。現在のインデックスの要素が実際に定義されているかどうかを確認するためのループ。CMSが以下のコメントで述べているように、あなたはこれを偽の値を含まない配列でのみ使用することができます。例の文字列の配列は機能しますが、空の文字列、または0やNaNなどの数値がある場合、ループは途中で中断します。繰り返しますが、これは私にとって問題になることはほとんどありませんが、使用する前にこのループを考慮する必要があることを念頭に置いておく必要があります。このループについて私が好きなものは:書くのは短いLengthプロパティにアクセスする必要はありません(キャッシュはもちろんのこと)アクセスする項目は、選択した名前の下のループ本体内に自動的に定義されます。List/stacksのような配列を使うために非常に自然にarray.Pushとarray.spliceを組み合わせますこれが機能するのは、配列の仕様上、インデックスから配列の長さを超えてアイテムを読み込むと、undefinedが返されることを強制するためです。そのような場所に書き込むと、実際に長さが更新されます。5の構文を最もよくエミュレートしています。{}...ループ内の現在のインデックスについても知るという追加の利点があります。1}http://jsperf.com/native-loop-performance/8編集しました(私が間違っていたので)100000項目の配列をループ処理する方法を比較し、毎回新しい値で最小限の操作を実行します。molokolocoJavaScriptでそれをするには2つの方法があります。最初の2つの例はJavaScriptのサンプルです。3つ目はJavaScriptライブラリを利用する、つまりjQueryが.each()関数を利用することです。Khatriプロトタイプのものを含まずに、独自のオブジェクトプロパティのみを反復処理する方法があります。array[i]}しかし、それはまだカスタム定義のプロパティに対して繰り返されます。JavaScriptでは、任意のカスタムプロパティを配列を含む任意のオブジェクトに割り当てることができます。array)またはarray.forEachとes5shimを使用する必要があります。kirilloidJavaScriptでは、配列をループするための非常に多くの解決策があります。以下のコードは人気のあるものです。Chetasumon最適化されたアプローチは、配列の長さをキャッシュし、単一のvarキーワードですべての変数を初期化する単一のvarパターンを使用することです。something}繰り返しの順序が逆ループを試すよりも重要でない場合は、オーバーヘッド条件のテストが減り、デクリメントが1つのステートメントになるため、最も速くなります。Ahmed短い答え:はい。"element2"などが印刷されているのがわかります。Salvador私の考えでは、Array.forEach関数を使用するのが最善の方法です。あなたが私を利用可能にするために私がMDNからpolyfillを得ることを提案することをそれを使用することができないならば、それは確かにJavaScriptで配列を反復する最も安全な方法です。n;});これにより、配列の処理の範囲内で必要なものはすべてその範囲内に収まり、オブジェクトのプロパティや他のメンバではなく、配列の値のみを処理することになります。ループに通常のCスタイルを使用すると、ほとんどの場合はうまくいきますが、ループ内のすべてのものがそのスコープとプログラムの他の部分とを共有し、{}は新しいスコープを作成しません。これはあなたが望むものであるかもしれないしそうでないかもしれません。jj_100%同一ではありませんが、似ています。user6139250概要:配列を反復処理するときは、次の目標のいずれかを達成したいことがよくあります。元の配列を変更せずに新しい配列を作成します。map()すべての配列要素に対して/を指定してアクションを実行し、配列を変更する可能性があります。for..of、forEach()、または通常のforループを使用します。console.log(el)})どれを使う?ほとんどの場合、それほど重要ではありません。Edgeのケースでは、1つの種類の反復がニーズに適している可能性があります。配列を操作したいが古い配列をそのままにしておきたい場合(例えば関数型プログラミング)、反復のためにmap()を使用するのが最善です。新しい配列を返す必要がない場合はmap()を使用しないでください。map()は、すべてのループメソッドの中で最もパフォーマンスが遅くなります。パフォーマンスが重要な役割を果たすとき、非常に多くの回数を繰り返す必要があるときは、通常のforループを使用します。{}それは最も「低レベル」の形式の反復であるため、(JSエンジンの違いにより異なる可能性があります)最高のパフォーマンスを持つことがよくあります。code...});または、前述のjqueryまたはforループの方法。in"を使うのは悪い考えなのでしょうか。値で配列をコピーするJavaScriptで2次元配列を作成する方法Javascriptの配列の先頭に新しい配列要素を追加する方法を教えてください。