JavaScript метод Math.min()

Определение и применение

JavaScript метод min() объекта Math позволяет найти и возвратить наименьшее из переданных чисел.

Обращаю Ваше внимание на то, что если хотя бы один из переданных параметров преобразуется в NaN, то результатом вызова метода будет значение NaN.

Если метод min() вызывается без параметров, то в качестве возвращаемого значения возвращается значение Infinity.

Проверьте поведение в редактируемом примере.

Поддержка браузерами

Спецификация: ecma262

Поддерживается во всех основных браузерах с 2015 года.

Показать браузеры
Совместимостьjavascript.builtins.Math.min
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
min✓1✓12✓1✓3✓1✓18✓4✓10.1✓1✓1.0✓4.4✓1

поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31

JavaScript синтаксис

JavaScript
Math.min( value1, value2, ...valueX );

Спецификация

ECMAScript: Math.min()

Значения параметров

Math: справочные сведения
Параметр Описание
value1, value2, ...valueX Числовые значения.

Возвращаемое значение и особенности

Возвращает Number. Для NaN или значения, преобразуемого в NaN, результат NaN; BigInt и Symbol вызывают TypeError. Без аргументов результат Infinity. При сравнении нулей предпочитает -0. Передача большого массива через ... или apply() может превысить лимит аргументов; для таких массивов используйте цикл.

Примеры, попробуйте сами

Как найти минимум и проверить особые значения

Измените числа или границы и сравните минимум, максимум и ограниченное значение.

index.html
HTML
<p>Результат выполнения выводится в консоль.</p>
main.js
JavaScript
const a = 5,
    b = -12,
    c = 20

// находим минимальное число из переданных значений
console.log(Math.min(a, b, c)) // возвращаемое значение -12

// находим максимальное число из переданных значений
console.log(Math.max(a, b, c)) // возвращаемое значение 20

// Отсутствие аргументов, преобразование типов и знак нуля.
console.log('Без аргументов:', Math.min(), Math.max())
console.log('Строка:', Math.min('12', 5))
console.log('NaN:', Math.min(NaN, 5))
console.log('Знак нуля:', Object.is(Math.min(-0, 0), -0))

В следующем примере мы рассмотрим как с помощью методов min() и max() объекта Math обрезать значение по верхней или нижней границе, если оно превышает или меньше определенного значения:

Как ограничить число сверху и снизу

Измените числа или границы и сравните минимум, максимум и ограниченное значение.

index.html
HTML
<p>Результат выполнения выводится в консоль.</p>
main.js
JavaScript
const value = 120
const minimum = 0
const maximum = 100
console.log(Math.min(value, maximum)) // Ограничение сверху.
console.log(Math.max(value, minimum)) // Ограничение снизу.
console.log(Math.max(minimum, Math.min(value, maximum))) // Оба ограничения.

В следующем примере мы рассмотрим как с помощью методов min() и max() объекта Math найти минимальное и максимальное значение внутри массива.

Как найти минимум и максимум массива

Измените числа или границы и сравните минимум, максимум и ограниченное значение.

index.html
HTML
<p>Результат выполнения выводится в консоль.</p>
main.js
JavaScript
// инициализируем переменную, содержащую массив
const arr = [-10, 22, 5, -2]

// находим минимальное число в массиве
console.log(Math.min.apply(null, arr)) // возвращаемое значение -10

// находим максимальное число в массиве
console.log(Math.max.apply(null, arr)) // возвращаемое значение 22

// тоже самое с помощью спред оператора ES2015

console.log(Math.min(...arr)) // возвращаемое значение -10
console.log(Math.max(...arr)) // возвращаемое значение 22

Обратите внимание, что в первом случае был использован метод apply() объекта Function.