我需要帮助将数组 elements 的值与之前的元素相加,并返回一个新数组。
所以如果我们有:
let durations = [4, 3.5, 6];
然后在新数组中,第一个元素 是 4,第二个元素 将是 4 + 3.5
和 第三个将是4 + 3.5 + 6
;所以期望的结果将是 [4, 7.5, 13.5]
到目前为止,reduce 似乎只是连接数字并返回一个字符串数组!
let durations = [4, 3.5, 6];
let arr = [];
let durationsNew = durations.reduce((a, b) => {
arr.push(a + b);
return arr;
}, []);
console.log(durationsNew); // The desired result is [4, 7.5, 13.5]
最佳答案
在您的代码中,您使用累加器a
并将值添加到它。累加器是一个数组,通过将其与加号运算符一起使用可将其转换为字符串。
相反,您可以为总和取一个变量,并通过为每个元素添加值来映射总和。</p>
let durations = [4, 3.5, 6],
sum = 0,
array = durations.map(value => sum += value)
console.log(array); // [4, 7.5, 13.5]
关于javascript - 将数组元素的值与前一个元素相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60365678/