0

forEach メソッドは、javascript の配列のみで機能するように設計されていますか? forEach() メソッドでどのような主要なタスクを完了できるかについて、アイデアや例を共有できますか?それとも、要素の値とインデックスのみを取得するのに役立ちますか?

4

2 に答える 2

2

いいえ。

配列で動作するように設計されていますが、任意の配列のようなオブジェクトを操作できます (ただし、存在する場所からアクセスする必要があります)。

たとえば、NodeList では次のようになります。

Array.prototype.forEach.call(
    document.getElementsByTagName('div'), 
    function (divElement) { console.log(divElement); }
);
于 2013-04-15T09:11:17.460 に答える
1

配列関数です。ドキュメントを見る

任意の配列のようなオブジェクトで使用できますが、 applyorを使用する必要があるため、あまり便利ではありませんcall。例えば ​​:

[].forEach.call("abc",function(v){console.log(v)})

オブジェクト キーを繰り返し処理するには、for..inを使用する必要があります。

for (key in object) {
    var value = object[key];
} 

jQuery の互換関数$.eachは、配列オブジェクトと非配列オブジェクトの両方に対して同じ反復関数を有効にしますが、配列を扱っているかどうか (またはそうすべきか) は一般的にわかっているので、古いブラウザーとの互換性のためにのみ使用します。

于 2013-04-15T09:10:14.597 に答える