gpt4 book ai didi

javascript - 为什么javascript会减少函数输出一个字符串数组

转载 作者:行者123 更新时间:2023-11-30 07:31:19 27 4
gpt4 key购买 nike

我正在尝试对数组中的数字求和,例如来自这里:https://jsfiddle.net/4r8dtxhz/12/

代码如下:

var someObj = [{name:"hi", series: [1,2,10,4,5,6]},{name:"ho",series:[3,7,6,9,12,1,3,20,3,1]}]

for (var doc of someObj) {

this.min = doc.series.reduce((agg,val) => val < agg? val:agg, doc.series[0]);
this.max = doc.series.reduce((agg,val) => val > agg? val:agg, doc.series[0]);

}
console.log(max)

var test = Array.from(someObj.map((doc)=>doc.series)).reduce((accumulator, currentValue) => accumulator + currentValue);
console.log(typeof test)
console.log(test)

我期待 reduce 函数对对象系列数组中的数字求和...所以我想知道这里出了什么问题?

最佳答案

您的 map 函数正在生成 [someObj[0].series, someObj[1].series] 的二维数组。

当您在 reducer 中使用 + 运算符将两个数组相加时,它会将它们转换为字符串并连接该字符串。

如果你想创建一个包含每个系列总和的数组,请引入另一个内部有 reduce 的 map 函数。

关于javascript - 为什么javascript会减少函数输出一个字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51982333/

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