Как найти минимальный элемент массива js

Аватар пользователя Ivan Gagarinov
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
10 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()
7 0
Познакомьтесь с основами JavaScript бесплатно