我正试图使用reduce返回一个数组,如下所示:
var myArray = [1,2,3];
_.reduce(myArray, function (seed, item) { return seed.push(item);}, []);
我希望它能产生一个像myArray一样的数组。对于第一个项目,seed是一个数组。对于第二个项目,seed是一个数字。这会导致一个错误,第三个项目永远无法到达。
这里发生了什么事?
实际上,seed.push()
不会返回修改后的seed
。执行以下操作,这是正确的:
_.reduce(myArray, function (seed, item) { seed.push(item); return seed; }, []);