Как найти самое большое число в массиве js
5 лет назад
Человек-Молекула
Ответы
Для того, чтобы найти максимальный элемент в массиве, можно воспользоваться не только агрегацией. Давайте обратимся к стандартным возможностям языка и рассмотрим метод Math.max.apply():
Есть ещё более хитрый способ использовать метод Math.max():
Для этого вспомним про spread оператор.
И невозможно не упомянуть про библиотеку Lodash с методом _.max():
Документация:
4 года назад
Виктория Аблаева
Чтобы найти самое большое число в массиве, нужно выполнить агрегацию. Для этого можно использовать цикл или функцию высшего порядка:
5 лет назад
Maksim Litvinov
Еще один способ. Можно использовать метод sort:
После сортировки методом sort() мы берем первый элемент результирующего массива, используя индекс [0], и присваиваем его переменной max.
4 года назад
Aleksey
искать максимальное сортировкой плохая затея.
3 года назад
Anatol81n
Самое большое число в массиве возвращает Math.max() вместе со spread-оператором:
Для пустого массива Math.max() вернёт -Infinity. Проверяйте длину массива заранее.
Через reduce
Подходит для массивов любой длины:
Spread передаёт все элементы аргументами функции. У движков есть лимит на число аргументов, и на массиве из сотен тысяч элементов Math.max(...arr) упадёт с RangeError. reduce и обычный цикл таких ограничений не имеют.
Обычным циклом
Почему не сортировкой
numbers.sort((a, b) => b - a)[0] тоже даёт максимум, но сортирует весь массив — это медленнее одного прохода — и меняет исходный массив.
Максимум среди объектов
Самый дорогой товар:
Индекс максимального элемента
Если в массиве строки
Math.max(...['10', '9']) сам преобразует строки в числа и вернёт 10. Но если попадётся нечисловая строка, результат будет NaN. Отфильтруйте данные заранее: arr.map(Number).filter(Number.isFinite).
Методы массивов разбирают в бесплатном курсе «Основы JavaScript».
7 дней назад
Никита Вихров






