2013-05-27 68 views

回答

8

只需要reverse the array迭代它之前?

lister.reverse(); 

要回答你的​​VS for loop問題,have a look here

+13

它會改變數組,所以它有嚴重的缺點,只是以相反的順序迭代 – user2846569

7

下劃線不會給你一個方法來反向迭代集合,只是前進。 顛倒數組可以解決問題,就像顛倒元素放入數組的方式一樣。

在反向穿越是回落到普通的JavaScript的一個可能的解決方案:

for (var i = arr.length; i-- > 0;) 
0

所有這些問題的答案都將發生變異的陣列中,不他想要做的,除非你想添加其他.reverse什麼()每次運行後。

但由於奧尤使用loDash可以很容易地通過包裝內的克隆或cloneDeep的內部的陣列避免這種情況的每個()調用

var letterArray = [ 'a', 'b', 'c', 'd', 'e' ]; 
_.each(_.clone(letterArray).reverse(), function(v, i) { 
    console.log(i+1); 
}); 

這將記錄5,4,3,2,1而不會影響原始數組。

相關問題