Изучение методов поиска минимума, максимума и среднего значения в массивах JavaScript

JavaScript предоставляет несколько методов для эффективного поиска минимального, максимального и среднего значений в массиве. В этой статье мы рассмотрим несколько подходов с примерами кода для выполнения этих операций, что позволит вам выбрать наиболее подходящий метод для ваших конкретных случаев использования.

Метод 1: использование функций Math.min() и Math.max()
Пример кода:

const numbers = [4, 2, 9, 7, 5];
const min = Math.min(...numbers);
const max = Math.max(...numbers);
console.log("Minimum:", min);  // Output: Minimum: 2
console.log("Maximum:", max);  // Output: Maximum: 9

Объяснение:
Функция Math.min()возвращает наименьшее число среди предоставленных аргументов, а Math.max()возвращает наибольшее число. Используя оператор распространения (...), мы можем передавать элементы массива в качестве отдельных аргументов этим функциям, что позволяет нам находить минимальные и максимальные значения.

Метод 2: использование Array.prototype.reduce()
Пример кода:

const numbers = [4, 2, 9, 7, 5];
const min = numbers.reduce((a, b) => Math.min(a, b));
const max = numbers.reduce((a, b) => Math.max(a, b));
const sum = numbers.reduce((a, b) => a + b);
const average = sum / numbers.length;
console.log("Minimum:", min);     // Output: Minimum: 2
console.log("Maximum:", max);     // Output: Maximum: 9
console.log("Average:", average); // Output: Average: 5.4

Объяснение:
Метод reduce()применяет функцию к каждому элементу массива, накапливая одно значение. В этом случае мы используем reduce(), чтобы найти минимальное и максимальное значения, сравнивая каждый элемент с накопленным значением. Кроме того, мы вычисляем сумму всех чисел и делим ее на длину массива, чтобы получить среднее значение.

Метод 3: использование пользовательской функции
Пример кода:

const numbers = [4, 2, 9, 7, 5];
function findMinMaxAverage(arr) {
  let min = Infinity;
  let max = -Infinity;
  let sum = 0;
  for (let i = 0; i < arr.length; i++) {
    const num = arr[i];
    sum += num;
    if (num < min) {
      min = num;
    }
    if (num > max) {
      max = num;
    }
  }
  const average = sum / arr.length;
  return { min, max, average };
}
const { min, max, average } = findMinMaxAverage(numbers);
console.log("Minimum:", min);     // Output: Minimum: 2
console.log("Maximum:", max);     // Output: Maximum: 9
console.log("Average:", average); // Output: Average: 5.4

Объяснение:
В этом подходе мы определяем специальную функцию под названием findMinMaxAverage(), которая выполняет итерацию по массиву, обновляя при необходимости минимальное и максимальное значения и вычисляя сумму. Наконец, мы делим сумму на длину массива, чтобы получить среднее значение.