0

こんにちは、ご覧いただきありがとうございます。

バックグラウンド

私は Node.JS で最初のアプリケーションを構築しており、jQuery ベースの習慣をネイティブ JavaScript に置き換えています。

ほとんどの項目では、これは些細なことです。しかし、私は jQuery の$.each()抽象化の優雅さが本当に恋しいと感じており、jQuery に頼らずに同様のことをしたいと思っています。

残念ながら、JavaScript の同じコードは少し面倒です。

myArray = ["item 1", "item 2", "item 3"];
for(i=0; i<myArray.length; i++) {
    myArray[i] = "Do Something Here".
};

私がやりたいことは、次のようなものです。

myArray = ["item 1", "item 2", "item 3"];
myArray.each(function(){
    //do stuff
});

質問

これを達成するための拡張メソッドは既にありますか? 車輪を再発明していると思わずにはいられません。そこに何もない場合、拡張メソッドが最適でしょうか?

4

5 に答える 5

4

EcmaScript 5 に forEach() があります: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/forEach

ただし、IE < 8 とは互換性がありません。

したがって、すべてのブラウザーでサポートされるようにするには、このライブラリを使用する必要がある場合があります: https://github.com/kriskowal/es5-shim

于 2012-09-11T12:50:01.460 に答える
0

ECMA Script 5 には、 という Array のメソッドが組み込まれていforEachます。jQuery.each使い方は配列と同じです。

for...in簡単に実装できるため、ループを使用する必要はもうありませんArray.forEach(ドキュメントの中央にある MDN ドキュメントのリンクを参照してください)。

明確にするために、forEachオブジェクトや jQuery オブジェクトではなく、配列のみをループします。

于 2012-09-11T12:50:26.473 に答える
0

習慣に固執したい場合は、jQuery もノードで使用できます。

npm install jquery
于 2012-09-11T13:43:04.767 に答える
0

目的が node.js で foreach を使用することである場合は、非同期ライブラリを調べることをお勧めします。これにより、foreach を並列化できます。

https://github.com/caolan/async

于 2012-09-11T14:25:44.683 に答える
0

あなたが使用することができます

for( i in myArray ){ 
    alert( i + ': ' + myArray[i] ); /* your actions here */
}
于 2012-09-11T13:01:52.033 に答える