JavaScript метод Math.max()
Определение и применение
JavaScript метод max() объекта
Math
позволяет найти и возвратить наибольшее из переданных чисел.
Обращаю Ваше внимание на то, что если хотя бы один из переданных параметров преобразуется в NaN, то
результатом вызова метода будет значение NaN.
Если метод max() вызывается без параметров, то в качестве возвращаемого значения возвращается значение
-Infinity.
Проверьте поведение в редактируемом примере.
Поддержка браузерами
Спецификация: ecma262
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
max | 1 | 12 | 1 | 3 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
JavaScript синтаксис
Math.max( value1, value2, ...valueX );
Спецификация
Значения параметров
| Параметр | Описание |
|---|---|
value1, value2, ...valueX |
Числовые значения. |
Возвращаемое значение и особенности
Возвращает Number. Для NaN или значения, преобразуемого в NaN, результат
NaN; BigInt и Symbol вызывают TypeError. Без аргументов результат
-Infinity. При сравнении нулей предпочитает +0. Передача большого массива через ... или apply() может
превысить лимит аргументов; для таких массивов используйте цикл.
Примеры, попробуйте сами
Как найти максимум и проверить особые значения
Измените числа или границы и сравните минимум, максимум и ограниченное значение.
index.html
<p>Результат выполнения выводится в консоль.</p>
main.js
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.max('12', 5))
console.log('NaN:', Math.max(NaN, 5))
console.log('Знак нуля:', Object.is(Math.max(-0, 0), -0))
В следующем примере мы рассмотрим как с помощью методов
min()
и max() объекта
Math
обрезать значение по верхней или нижней границе, если оно превышает или меньше определенного значения:
Как ограничить число сверху и снизу
Измените числа или границы и сравните минимум, максимум и ограниченное значение.
index.html
<p>Результат выполнения выводится в консоль.</p>
main.js
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
<p>Результат выполнения выводится в консоль.</p>
main.js
// инициализируем переменную, содержащую массив
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.