I know we can sum the array elements using reduce()
but what if we have an array of arrays. For eg:
var result=[10,20,30];
result.reduce((a, b) => a + b)
it will return 60
but if we have
result=[ [10,20,30], [20,30,40], [60,70,80] ] console.log(result);
how can we get the final result as result=[60,90,210]
using reduce?
You can use Array.prototype.map() to loop through each of the subarrays in the outer array. The map() method creates a new array with the results of calling a provided function on every element in the calling array.
Once you get a subarray, follow the previous approach to find the sum using reduce().
result = result.map(subArray => subArray.reduce((a, b) => a + b))
If you want to use .reduce
only, I suggest this code:
result=[
[10,20,30],
[20,30,40],
[60,70,80]
]
const sum = result.reduce((a, b) => {
return [...a.concat(b.reduce((a, b) => a + b, 0))]
}, [])
console.log(sum)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.