JS.22 · Алгоритмы
Задача
Вычислить базовые статистики массива чисел.
Алгоритм
reduce считает сумму и сумму квадратов отклонений; Math.min/max с расширением находят экстремумы.
Исходный код
⇩ Скачать 22-statistika-massiva.js
// Статистика массива
function stats(a) {
const n = a.length;
const mean = a.reduce((s, x) => s + x, 0) / n;
const sd = Math.sqrt(a.reduce((s, x) => s + (x - mean) ** 2, 0) / n);
return { min: Math.min(...a), max: Math.max(...a), mean: +mean.toFixed(3), sd: +sd.toFixed(3) };
}
console.log(stats([4.2, 7.1, 3.3, 9.8, 5.5, 2.1, 6.6, 8.0]));
Пояснения
Оператор ** возводит в степень; toFixed(3) округляет вывод до трёх знаков.