gpt4 book ai didi

javascript - 下划线 JS : reducing into an array causes undefined method error on the accumulator

转载 作者:行者123 更新时间:2023-12-03 13:05:45 24 4
gpt4 key购买 nike

我有与此类似的代码,我试图用它来生成一个由三个子数组组成的数组:

f = [1, 2.5, 3, 10]
p = [1.2, 5.1, 6.3, 11]
r = [1, 1, 1, 1]

coords = _.reduce([f, p, r], function(memo, series){
if(series.length){
memo.push(_.map(series, function(s, i){
return {x: s, y: i*100};
}));
}
}, []);

console.log(coords);

最终结果应如下所示:
[
[{x:1,y:100},{x:2,y:2.5}...],
[{x:1,y:12},{x:2,y:51}...]
]

但是,当我尝试执行代码时,它返回 cannot read property push of undefined .当我检查 Chrome 中的错误时,它指向我 memo.push线。代码对我来说似乎没问题,但我不知道我的错误在哪里。任何帮助表示赞赏。

最佳答案

您必须return来自您的 reduce 回调的东西成为新的累加器值。否则 memo将作为 undefined 返回在下一次迭代和最终结果中......

A return memo;会解决这个问题,但是我觉得你实际上不想使用 reduce :

var coords = _.map(_.filter([f, p, r], function(series) {
return series.length; // > 0
}), function(nonemptyseries) {
return _.map(nonemptyseries, function(s, i){
return {x: s, y: i*100};
});
});

关于javascript - 下划线 JS : reducing into an array causes undefined method error on the accumulator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28201061/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com