以单行运行reverse for loop

sac*_*024 1 javascript arrays reverse loops underscore.js

我想运行一个反向for循环,每个项目作为参数传递给一个函数.我可以用underscore.

var myItems = [1,2,3,4,5];
_.each(myItems, print); //It calls print in sequential order but I want reverse order

function print(value) {
  value = value + 1;
  // Some other modifications
  console.log(value);
}
Run Code Online (Sandbox Code Playgroud)

现在,我需要做同样的事情,但我想运行反向循环.我知道我可以写这样的循环

for (var i = myItems.length - 1; i >= 0; i--) { ... }
Run Code Online (Sandbox Code Playgroud)

我正在寻找简洁的代码...... _.reverseLoop或者类似的东西myItems.reverse.是否有任何其他API提供underscoreArray.prototype反向运行一个循环,并为每个项目执行回调?

CD.*_*D.. 5

Array.prototype.reverse():

reverse()方法将阵列反转到位.第一个数组元素成为最后一个,最后一个成为第一个.

所以你可以反转你的数组并使用:

_.each(myItems.reverse(), print)
Run Code Online (Sandbox Code Playgroud)

要么

_.each(myItems.slice().reverse(), print)
Run Code Online (Sandbox Code Playgroud)

  • 在反向之前添加切片会创建一个浅拷贝并保持初始数组不变,对吗? (2认同)