ReactJS:帮助调试?每个数组NOT列的总和



需要帮助了解如何获得多个数组的总和。

这是我从控制台输出的数据。log:

(4) [empty, Array(1), Array(1), Array(4)]
1: [50, 30]
2: [100, 100, 50]
3: (4) [500, 10, 50, 300]

预期输出:

1: [80] 
2: [250] 
3: [860]

使用的方法:

  1. 下面的代码不起作用,它只是每行的列

    const savingsTotal = saveID[0].map((x, idx) => saveID.reduce((sum, curr) => sum + curr[idx], 0));
    

代码源:如何计算多个数组的和?

  1. 这段代码给了我一个奇怪的字符串:

    const savingsTotal = saveID.reduce((sum, value) =>  sum += value, 0)
    

输出:050100500,10,50,300

  1. 我想如果我用一个键列出会起作用,例如[saved:500],但是它也不起作用。

    const savingsTotal = saveID.map(({saved}) => saved.reduce((sum, value) => sum += value, 0))
    

输出:中断代码,找不到[saved:500],因为以前的功能是:

if (save.length > 0 ) { 
const saveID = save.reduce((savedAmount, { goal_id, saved }) => {
(savedAmount[goal_id] = savedAmount[goal_id] || []).push({"saved": saved});
return savedAmount;
}, []); ****Changed the .push so I would be able to add a key, normally it's without. 

代码来源:如何获取一个对象数组中多个数组的和?

有人能帮我理清逻辑吗?

映射到原始数组。然后使用CCD_ 2得到它们各部分的总和:

const ar = [[50, 30], [100, 100, 50], [500, 10, 50, 300]];
const sum_array = ar.map(item => item.reduce((acc, val) => acc + val, 0))
console.log(sum_array)

您可以在外部数组上循环,并使用reduce来查找每个组成数组的和。

const arr = [, [50, 30],[100, 100, 50], [500, 10, 50, 300]];
for(let i = 0; i < arr.length; i++){
if(Array.isArray(arr[i])){
console.log(i + ': ' + arr[i].reduce((acc,curr)=>acc+curr, 0));
}
}

如果您想生成一个结果数组,而不仅仅是打印它,您可以使用map

const arr = [, [50, 30],[100, 100, 50], [500, 10, 50, 300]];
const res = arr.map(x => x.reduce((acc,curr)=>acc+curr, 0));
console.log(res);

试试这个:

let arr = [10, 70],
arr2 = [100, 100, 50],
arr3 = [500, 10, 50, 300]
console.log(arr.reduce((sum, carry) => sum + carry));
console.log(arr2.reduce((sum, carry) => sum + carry));
console.log(arr3.reduce((sum, carry) => sum + carry));

相关内容

最新更新