JS максимальное число
Чтобы найти максимальное число в JavaScript используйте Math.max . Смотрите пример:
console.log(Math.max(10, 45, 50, 344, 30));
Результат выполнения кода:
Максимальный элемент в массиве через apply
Хитрым путем можно найти максимальное значение массива, используя Math.max в связке с методом apply :
let arr = [10, 45, 50, 344, 30]; console.log(Math.max.apply(null, arr));
Результат выполнения кода:
Максимальный элемент в массиве через spread
Использование метода apply для нахождения минимального элемента в массиве считается устаревшим с появлением оператора spread. Давайте посмотрим пример:
let arr = [10, 45, 50, 344, 30]; console.log(Math.max(. arr));
Результат выполнения кода:
Смотрите также
- урок
нахождение минимального числа
Найти минимальный и максимальный элементы массива в JavaScript
В этом посте мы обсудим, как найти минимальный и максимальный элемент массива в JavaScript.
JavaScript Math класс предлагает max() а также min() функции, которые возвращают наибольшее и наименьшее значение среди заданных чисел соответственно. Вы можете использовать их, чтобы найти максимум и минимум в массиве:
1. Использование Array.prototype.reduce() функция
Рекомендуемый подход заключается в использовании Array.reduce() найти максимальный и минимальный элемент в массиве. Это работает путем сравнения каждого значения массива:
Максимальное и минимальное значение в массиве
потому что Вы сравниваете два соседних элемента, а значит в min и max получите два последних элемента массива. чтобы заставить этот код работать как надо, сравнивайте каждый элемент с min и с max но, мнится мне, существует более элегантное решение.
3 апр 2012 в 14:52
8 ответов 8
Сортировка: Сброс на вариант по умолчанию
Во имя Джавахарлала Неру, зачем такие сложности?!
>>> Math.min.apply(null, [1,3,5,-1,8,0]) -1 >>> Math.max.apply(null, [1,3,5,-1,8,0]) 8
Отслеживать
ответ дан 3 апр 2012 в 15:22
2,449 1 1 золотой знак 15 15 серебряных знаков 15 15 бронзовых знаков
ахаха, дико плюсую! недавно занялся js, про прототипы знаю, а про такие банальности нет!
3 апр 2012 в 15:25
а подкинете ссылку? чтоб я разобрался в этих строках и возможно тоже посмеялся 😉 или хоть скажите что почитать)
3 апр 2012 в 15:58
4 апр 2012 в 5:12
более короткий в ES2015: Math.max(. arr)
4 дек 2017 в 17:07
Да, но только есть один очень интересный нюансик. Всё бы хорошо, когда массив небольшой, но как только массив огромен, например о миллионе элементов, тогда Chrome, например, Вам гневно скажет, что Uncaught RangeError: Maximum call stack size exceeded! Потому что apply создаёт стэк непомерных размеров. И тогда в этом случае используем стандартные средства))
Максимальное число в массиве, как правильнее?
Работает все ок, но как правильно будет?
1. Присваивать минимальному значению 0.
2. Или присваивать минимальному значению первый елемент массива тобиш list[0].
- Вопрос задан более трёх лет назад
- 33715 просмотров
Комментировать
Решения вопроса 2
Сергей Соколов @sergiks Куратор тега JavaScript
Конечно же, второй вариант: list[0] .
Доказательство: найти максимум в массиве отрицательных чисел.
А быстрее встроенным методом Math.max():
Math.max.apply(null, list)
Ответ написан более трёх лет назад
Нравится 5 2 комментария
SlideUp @SlideUp Автор вопроса
Еще не дошёл до такого, но спасибо, буду иметь ввиду!

Valentin Khokhlov @viewDidLoad
apply уже не нужен)
Math.max(. list) // es2015+

profesor08 @profesor08 Куратор тега JavaScript
function max(list) < return list.reduce((a, b) =>a > b ? a : b); >
function max(list) < let max = list[0]; list.forEach(function(e) < if (e >max) max = e; >); return max; >
Ответ написан более трёх лет назад
Нравится 2 7 комментариев
Сергей Соколов @sergiks Куратор тега JavaScript
Ещё так можн )
function maxElement (list) < return list.sort((a,b) =>b-a)[0]; >
Непонятно, зачем – раз уж позволили себе «сладкое» использование каких-то встроенных методов (reduce(), sort(), forEach()), то почему не взять сразу очевидный и предназначенный для задачи )
На собеседовании могут попросить написать такую функцию без использования нативных функций.
SlideUp @SlideUp Автор вопроса
Сергей Соколов, У меня что-то башка задымилась )
Сергей Соколов @sergiks Куратор тега JavaScript
SlideUp, без паники. Тут сортируем массив по убыванию и берём самый первый элемент – он и будет наибольшим значением.
Методу сортировки массива .sort() надо скормить функцию f( a, b) , которая сравнив два аргумента вернёт 1, –1 или 0, которые определяют как их в сортированной последовательности расположить.
Для чисел проще всего просто вычитание сделать. Если два числа равны, вернёт 0. Если одно больше другого – положительное, если наоборот отрицательное, как и надо для сортировки.
(a,b) => b — a это просто короткая запись определения функции от аргументов (a,b) которая возвращает значение b-a , т.е. это то же самое, что function(a, b)