Как найти минимальный элемент массива js
Ответы
Ivan Gagarinov
22 октября 2021
Найти минимальное значение в массиве можно простым перебором и сравнением:
const numbers = [3, 4, 9, 3, 5, 1, 7]; // исходный массив
// создадим переменную в которую будем сохранять текущее минимальное значение
// установим в нее значение из первого элемента массива
let minimum = numbers[0];
for (const item of numbers) {
if(item < minimum) {
minimum = item; // если находим другое минимальное число, то сохраняем в переменную
}
}
console.log(minimum); // => 1
Также можно воспользоваться встроенным методом Math.min()
в сочетании со spread
оператором:
const numbers = [3, 4, 9, 3, 5, 1, 7]; // исходный массив
const minimum = Math.min(...numbers);
console.log(minimum); // => 1
8
0
Виктория Аблаева
19 октября 2022
Для нахождения минимального элемента в массиве предлагаю написать собственную функцию с использованием функции высшего порядка reduce и стандартного метода Math.min():
const numbers = [-94, 87, 12, 0, -67, 32];
const min = (values) => values.reduce((x, y) => Math.min(x, y));
console.log(min(numbers)); // => -94
По факту в этой функции мы делаем обычную агрегацию. Берём попарно элементы массива и при каждой итерации находим из них минимальный.
Следующий вариант — использование стандартного метода Math.min():
const numbers = [-94, 87, 12, 0, -67, 32];
const minValue = Math.min.apply(null, numbers);
console.log(minValue); // => -94
В примере выше не забудьте про null, иначе в переменную minValue вернётся Infinity.
Также стоит вспомнить про библиотеку Lodash:
const numbers = [-94, 87, 12, 0, -67, 32];
console.log(_.min(numbers)); // => -94
Документация:
- _.min()
6
0