我正在尝试使用reduce来返回这样的数组:
var myArray = [1,2,3];
_.reduce(myArray, function (seed, item) { return seed.push(item);}, []);
我希望它会像myArray一样产生一个数组。而对于第一个项目,种子是一个数组。然后对于第二个项目,种子是一个数字。这会导致错误,并且永远不会达到第三项。
这里发生了什么?
答案 0 :(得分:14)
实际上,seed.push()
不会返回修改后的seed
。执行以下操作,这是正确的:
_.reduce(myArray, function (seed, item) { seed.push(item); return seed; }, []);