AFON // радиотехник affonya@mail.ru
← Все проекты JavaScript

Статистика массива

Минимум, максимум, среднее и СКО набора чисел.

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) округляет вывод до трёх знаков.