Как найти минимальный элемент массива js
5 лет назад
Человек-Молекула
Ответы
Найти минимальное значение в массиве можно простым перебором и сравнением:
Также можно воспользоваться встроенным методом Math.min() в сочетании со spread оператором:
5 лет назад
Ivan Gagarinov
Для нахождения минимального элемента в массиве предлагаю написать собственную функцию с использованием функции высшего порядка reduce и стандартного метода Math.min():
По факту в этой функции мы делаем обычную агрегацию. Берём попарно элементы массива и при каждой итерации находим из них минимальный.
Следующий вариант — использование стандартного метода Math.min():
В примере выше не забудьте про null, иначе в переменную minValue вернётся Infinity.
Также стоит вспомнить про библиотеку Lodash:
Документация:
4 года назад
Виктория Аблаева
Минимальное число в массиве возвращает Math.min() со spread-оператором:
Для пустого массива Math.min() вернёт Infinity. Проверяйте длину заранее.
Через reduce
Spread передаёт элементы аргументами функции, а у движков есть лимит на число аргументов. На массиве из сотен тысяч элементов Math.min(...arr) упадёт с RangeError, reduce и цикл работают с любым размером.
Индекс минимального элемента
Минимум среди объектов
Самый дешёвый товар:
Минимум и максимум за один проход
Если в массиве строки или пропуски
Math.min(...['10', '2']) переведёт строки в числа и вернёт 2. Но Math.min(5, undefined) даст NaN, а Math.min(5, null) — 0: null превращается в ноль. Очистите данные заранее:
Почему не сортировкой
[...numbers].sort((a, b) => a - b)[0] тоже даёт минимум, но сортировка медленнее одного прохода. sort() без функции сравнения сравнивает числа как строки: [10, 9, 1].sort() вернёт [1, 10, 9].
Методы массивов разбирают в бесплатном курсе «Основы JavaScript».
7 дней назад
Никита Вихров






