/
Вопросы и ответы
/
JavaScript
/

Как найти самое большое число в массиве js

Как найти самое большое число в массиве js

5 лет назад

Человек-Молекула

Ответы

3

Для того, чтобы найти максимальный элемент в массиве, можно воспользоваться не только агрегацией. Давайте обратимся к стандартным возможностям языка и рассмотрим метод Math.max.apply():

const numbers = [-94, 87, 12, 0, -67, 32];
const maxValue = Math.max.apply(null, numbers);
//обратите внимание, что в записи данного метода обязателен null. 
//Если забыть в записи данного выражения null, то в переменную maxValue вернётся -Infinity.
console.log(maxValue); // => 87

Есть ещё более хитрый способ использовать метод Math.max():
Для этого вспомним про spread оператор.

const numbers = [-94, 87, 12, 0, -67, 32];
const maxValue = Math.max(...numbers);
console.log(maxValue); // => 87

И невозможно не упомянуть про библиотеку Lodash с методом _.max():

const numbers = [-94, 87, 12, 0, -67, 32];
const maxValue = _.max(numbers);
console.log(maxValue); // => 87

Документация:

4 года назад

Виктория Аблаева

1

Чтобы найти самое большое число в массиве, нужно выполнить агрегацию. Для этого можно использовать цикл или функцию высшего порядка:

const findMax = (numbers) => {
  // Если массив пустой, у него нет максимального элемента
  if (numbers.length === 0) {
    return null;
  }
  // Выполняем агрегацию
  return numbers.reduce(
    (acc, number) => (number > acc ? number : acc),
    // Сначала принимаем за максимальное первый элемент массива 
    numbers[0]
  );
};

findMax([1, 0, -5, 40, 10, -100, 41]); // 41

4 года назад

Maksim Litvinov

1

Еще один способ. Можно использовать метод sort:

const arr = [1, 5, 0, 3, 5, 8, 9];
const max = arr.sort((a, b) => b - a)[0]; // 9

После сортировки методом sort() мы берем первый элемент результирующего массива, используя индекс [0], и присваиваем его переменной max.

3 года назад

Aleksey

0

искать максимальное сортировкой плохая затея.

2 года назад

Anatol81n

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845