10

アンダースコアで _.each を使用して、リストを最初から最後まで反復処理するにはどうすればよいですか?

lister = ['a', 'c', 'd', 'w', 'e'];
_.each(_.range(lister.length, 0 ,-1), function (val,i) {
   console.log(val);
}, lister);

これにより、コンソールに 5 対 1 の数字が出力されます。伝統的な "for" ループの代わりにアンダースコアの _.each を使用するのは良い考えですか?

4

3 に答える 3

8

アンダースコアは、コレクションを逆方向に反復する方法を提供するのではなく、前方に反復するだけです。配列を逆にすると、配列に要素を配置する方法を逆にするのと同じくらい問題が解決します。

逆方向にトラバースするための 1 つの可能な解決策は、プレーンな Javascript にフォールバックすることです。

for (var i = arr.length; i-- > 0; )
于 2015-06-15T18:17:59.710 に答える