Я хочу получить среднее значение каждого индекса в строке матрицы в JS.
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
Затем возвращаем список со средним значением индекса каждой строки: [4, 5, 6]
Могу ли я создать цикл, сохранить каждый индекс в списке, сложить их и разделить, а затем сформировать новый список со средними значениями? Я чувствую, что, вероятно, есть более простой способ.
Здесь легко получить среднее значение с помощью заданной матрицы:
const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
const averages = [];
for (let col = 0; col < matrix[0].length; col++) { // loop to iterate over columns
let sum = 0;
for (let row = 0; row < matrix.length; row++) { // loop to iterate over rows
sum += matrix[row][col]; // calculate accumulated sum
}
const average = sum / matrix.length; // get sum divided by matrix length
averages.push(average);
}
console.info(JSON.stringify(averages));
Вы можете использовать методы Array#reduce
и Array#map
следующим образом:
const
input = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
],
output = input.reduce(
(acc,cur,i,a) => acc.map(
(x,j) => x + cur[j]/a.length
),
Array(input.length).fill(0)
);
console.info( output );
напишите функцию, которая вычисляет среднее значение одного массива, затем используйте
Array.map()
, чтобы создать новый массив со средним значением каждого подмассива.