const list = [
[2, 9, 1, 2],
[2, 3, 9, 4],
[4, 7, 8, 1]
];
let result = list.reduce( (a,b) => a.map( (c,i) => c + b[i] ));
console.log(result);
Обновление: объяснение было запрошено для.
Прежде всего уменьшение даст массив (массивов) и хотите уменьшить до одного значения (массив).Для этого он будет вызывать функцию первой стрелки 2 раза.В первый раз a будет [2,9,1,2] , а b будет [2,3,9,4] .При a и b функция первой стрелки вернет map из a .Если a является массивом, он вернет массив, в котором каждый элемент добавлен к соответствующему элементу массива b .Результат этой первой карты будет [4,12,10,6] . уменьшение теперь будет вызывать функцию первой стрелки во второй раз с a (первый результат карты) [4,12,10,6] и b (последний элемент массива ввода [4,7,8,1] ).Эта функция стрелки будет делать то же самое, что и раньше: возвращать массив, в котором каждый элемент a добавляется к соответствующему элементу b . карта вернет [8,19,18,7] .Поскольку больше нет входных элементов, lower вернет это значение (массив).