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

Аватар пользователя Виктория Аблаева
Виктория Аблаева
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()
5 0
Аватар пользователя 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
5 0
Основы Frontend за 14 дней
  • 72 урока в онлайн-тренажере
  • 4 живых вебинара и масскодинг
  • Помощь наставника на весь период обучения

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию на Хекслете

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки