我正在尝试将数字数组简化为所有组合数字的总和。目前,我正在使用Array.reduce
来实现这一目标,但是我发现该函数仅将数组的值堆叠在一起以创建一个大数字,而不是将它们加在一起。
// Function used to get the sum of all numbers in array
function getSum(total, num){
return total + num;
// Reduce Var
var easternSum = scoreEastern.reduce(getSum);
// Dynamic array based on user input
var scoreEastern = dataSet
.filter(scoreEastern => scoreEastern.Course === 'eastern')
.map(({Score}) => Score);
// Empty array that scoreEastern var is assigned to
var dataSet = [];
因为我的数组是动态的,所以它基于用户输入到表单中的内容,因此没有设置数组。但是我们说数组是:
var scoreEastern = [10, 20, 30]
reduce var easternSum
将导致数字102,030。我想要的是60。
答案 0 :(得分:0)
我认为也许scoreEastern
一直没有您期望的数据?您提到它是动态的。此代码段似乎适用于您在问题中发布的用例。
const scoreEastern = [10, 20, 30];
console.log(scoreEastern.reduce((prev, curr) => prev + curr));