Проверяет понимание работы встроенного метода Math.max, его сигнатуры и особенностей обработки аргументов, что важно для базовых вычислений и работы с массивами.
Math.max — это статический метод встроенного объекта Math в JavaScript, предназначенный для нахождения максимального значения среди переданных аргументов. Он не является функцией-конструктором и не может быть вызван через new. Метод принимает произвольное количество аргументов, каждый из которых должен быть числом или значением, которое может быть приведено к числу.
Синтаксис: Math.max(value1, value2, ..., valueN). Возвращаемое значение — наибольшее из переданных чисел. Если аргументы отсутствуют, возвращается -Infinity. Если хотя бы один аргумент не может быть преобразован в число (например, строка с буквами), результатом будет NaN.
console.log(Math.max(1, 5, 3)); // 5
console.log(Math.max(-10, -20, -5)); // -5
console.log(Math.max()); // -Infinity
console.log(Math.max(1, '2', 3)); // 3 (строка '2' приводится к числу)
console.log(Math.max(1, 'abc', 3)); // NaN
// Работа с массивом через spread
const numbers = [4, 8, 2, 10];
console.log(Math.max(...numbers)); // 10
// Альтернатива через apply (устаревший способ)
console.log(Math.max.apply(null, numbers)); // 10
Math.max([1,2,3]) вернёт NaN, так как массив преобразуется в строку и не может быть приведён к числу.reduce.null, undefined, true, false приводятся к числам: null → 0, undefined → NaN, true → 1, false → 0.Math.max часто используется для ограничения значений (clamping), поиска максимума в наборе данных, вычисления границ в графике или играх. Например, чтобы ограничить значение сверху:
function clamp(value, min, max) {
return Math.min(Math.max(value, min), max);
}
console.log(clamp(15, 0, 10)); // 10
Итог: Math.max — простой и быстрый способ найти максимум среди чисел, но при работе с массивами нужно использовать spread или reduce, а также учитывать приведение типов и возможный NaN.