Сложение массивов в массиве - циклом JS
Нужна помощь. Есть большой массив, из консоли, вот такой:
(90) [Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2),
Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2),
Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2),
Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2),
Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2),
Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2),
Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2),
Array(2), Array(2), Array(2), Array(2), Array(2), Array(2), Array(2)]
> 0: Array(2)
0: (4) [12, 14, 15, 16]
1: (4) [10, 11, 12, 14]
length: 2
> 1: Array(2)
0: (4) [12, 14, 15, 16]
1: (4) [9, 10, 11, 11]
length: 2
Мне нужно сложить два массива в многомерном массиве. Т.е. нужно сложить arrMas[0][0] + arrMas[0][1], это: [12, 14, 15, 16] + [10, 11, 12, 14], результат: [22, 25, 27, 30]; arrMas[1][0] + arrMas[1][1], это: [12, 14, 15, 16] + [9, 10, 11, 11], результат: [21, 24, 26, 27]; и т.д. Результатом должен быть такой же массив, но уже со сложенным внутри себя массивами. Как мне это сделать циклом?
Ответы (1 шт):
Автор решения: Konstantin Modin
→ Ссылка
Можно сделать например так:
const arr = [
[
[12, 14, 15, 16],
[10, 11, 12, 14],
],
[
[12, 14, 15, 16],
[9, 10, 11, 11],
],
[
[1, 2, 3],
[4, 5, 6],
[10, 20, 30],
],
];
console.log(`arr`, arr);
const res = arr.map((item) =>
item[0].map((_, idx) => item.reduce((a, b) => a + b[idx], 0))
);
console.log(`res`, res);