Math.min() в JavaScript

Math.min() возвращает минимальное число из переданных значений.

console.log(Math.min(10, 3, 25));

Результат:

3

Метод полезен, когда нужно выбрать самое маленькое значение: цену, оценку, процент, расстояние или лимит.

Что делает Math.min()

Math.min() сравнивает числа и возвращает самое маленькое из них.

let minPrice = Math.min(1200, 800, 1500);

console.log(minPrice);

Результат:

800

Исходные значения при этом не меняются. Метод просто возвращает результат сравнения.

Синтаксис

Math.min(value1, value2, value3)

В метод можно передать одно или несколько чисел через запятую.

console.log(Math.min(5));
console.log(Math.min(5, 2));
console.log(Math.min(5, 2, 9));

Результат:

5
2
2

Несколько значений

Значения можно передавать не только напрямую, но и через переменные.

let first = 14;
let second = 9;
let third = 21;

let min = Math.min(first, second, third);

console.log(min);

Результат:

9

Такой код удобно читать: сразу видно, что мы ищем минимальное значение среди нескольких чисел.

Массив чисел

Math.min() ждет отдельные числа, а не массив.

let numbers = [10, 3, 25];

console.log(Math.min(numbers));

Результат:

NaN

Чтобы найти минимум в массиве, используйте spread-оператор . Он передает элементы массива как отдельные значения.

let numbers = [10, 3, 25];

console.log(Math.min(...numbers));

Результат:

3

Пустой массив

Если массив пустой, результат может быть неожиданным.

console.log(Math.min(...[]));

Результат:

Infinity

Поэтому, если массив может быть пустым, его лучше проверить заранее.

let numbers = [];

if (numbers.length > 0) {
  console.log(Math.min(...numbers));
} else {
  console.log('Нет чисел для сравнения');
}

Ограничение сверху

Math.min() удобно использовать, чтобы не дать числу стать больше нужного лимита.

let value = 120;
let maxValue = 100;

let limitedValue = Math.min(value, maxValue);

console.log(limitedValue);

Результат:

100

Если value меньше лимита, метод вернет само значение.

console.log(Math.min(70, 100));

Результат:

70

Итого

Math.min() возвращает минимальное число из переданных значений.

  • Math.min(10, 3, 25) вернет 3.
  • Метод принимает отдельные значения через запятую.
  • Для массива используйте spread: Math.min(…numbers).
  • Для пустого массива Math.min(…[]) вернет Infinity.
  • Math.min() можно использовать, чтобы ограничить значение сверху.