在node.js或JavaScript中映射数组的干净方法

在node.js或JavaScript中映射数组的干净方法,javascript,node.js,underscore.js,Javascript,Node.js,Underscore.js,假设我有一个函数和一个数组。我想通过将函数应用于数组中的每个条目来修改数组。该函数不直接修改值;它返回一个新值 在伪代码中 for (entry in array) { entry = function(entry); } 我想到了几种方法: for (var i = 0; i < arr.length; i++) { arr[i] = fn(i); } 但这两个看起来都有点笨重。标准的“for”块感觉过于冗长,而u.map函数重新分配整个数组,因此感觉效率低下 你会怎

假设我有一个函数和一个数组。我想通过将函数应用于数组中的每个条目来修改数组。该函数不直接修改值;它返回一个新值

在伪代码中

for (entry in array) {
    entry = function(entry);
}
我想到了几种方法:

for (var i = 0; i < arr.length; i++) {
    arr[i] = fn(i);
}
但这两个看起来都有点笨重。标准的“for”块感觉过于冗长,而u.map函数重新分配整个数组,因此感觉效率低下

你会怎么做

是的,我知道我想得太多了:)

方法


..map()
的实现方式可能与此相同。

只需使用下划线函数,直到确定这是一个性能问题。这本书可读性强,内容清晰,因此,除非它确实是一个问题,否则你的“低效感”不应该阻止你转向更紧迫的问题:)完全正确!尽管如此,我还是很好奇。如果您使用的是Node.js,那么您知道您使用的是什么js解释器,因此您知道ECMAScript 5中的东西是实现的。。。其中包括数组#映射:)
arr = _.map(arr, fn);
var arr = arr.map(fn);