【发布时间】:2012-01-22 05:52:32
【问题描述】:
我正在尝试使用 reduce 来返回这样的数组:
var myArray = [1,2,3];
_.reduce(myArray, function (seed, item) { return seed.push(item);}, []);
我希望它会像 myArray 一样生成一个数组。而不是第一项,种子是一个数组。然后对于第二项,种子是一个数字。这会导致错误,并且永远不会到达第三项。
这里发生了什么?
【问题讨论】:
-
为什么需要这样使用
reduce?如果你需要克隆一个数组,你最好只是slice它。 -
说真的,这样做会更好
myArray.slice() -
嗯...这是示例。我实际上是在尝试将数组排序为组,是的,我知道可以使用 _.sortBy() 来完成。从功能上讲,map 和 reduce 是其他更复杂的列表理解函数的构建块。所以我的问题看起来是为了理解为什么 reduce 没有返回一个列表,这是我只使用 reduce 进行分组的第一步。
标签: javascript mapreduce underscore.js