如何在下划线中使用 _.each 从头到尾遍历列表?
lister = ['a', 'c', 'd', 'w', 'e'];
_.each(_.range(lister.length, 0 ,-1), function (val,i) {
console.log(val);
}, lister);
这会在控制台中打印数字 5 到 1。使用下划线的 _.each 代替传统的“for”循环是个好主意吗?
如何在下划线中使用 _.each 从头到尾遍历列表?
lister = ['a', 'c', 'd', 'w', 'e'];
_.each(_.range(lister.length, 0 ,-1), function (val,i) {
console.log(val);
}, lister);
这会在控制台中打印数字 5 到 1。使用下划线的 _.each 代替传统的“for”循环是个好主意吗?
下划线没有给你一种反向迭代集合的方法,只是向前。反转数组可以解决问题,就像反转元素放入数组的方式一样。
一种可能的反向遍历解决方案是回退到纯 Javascript:
for (var i = arr.length; i-- > 0; )
所有这些答案都会改变他不想做的数组,除非你想在每次运行它之后添加另一个 .reverse() 。
但是由于 oyu 使用的是 loDash,因此您可以通过将数组包装在一个 clone 或 cloneDeep 中的 each() 调用中来轻松避免这种情况
var letterArray = [ 'a', 'b', 'c', 'd', 'e' ];
_.each( _.clone(letterArray).reverse(), function(v, i) {
console.log( i+1 );
});
这将记录 5、4、3、2、1 而不会影响原始数组。