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

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

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

4 года назад

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

Ответы

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

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

3 года назад

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

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.

2 года назад

Aleksey

0

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

2 года назад

Anatol81n