Получить максимальные элементы из массива

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом лабе мы исследуем функцию maxN, которая используется для возврата n максимальных элементов из заданного массива. Мы узнаем, как использовать Array.prototype.sort(), оператор расширения (...) и Array.prototype.slice() для сортировки и среза массива по убыванию и возврата указанного количества элементов. Этот лаб поможет вам лучше понять манипуляции с массивами в JavaScript.

Как получить n максимальных элементов из массива в JavaScript

Для практики программирования на JavaScript откройте Терминал/SSH и введите node. После этого вы можете использовать следующие шаги, чтобы получить n максимальных элементов из массива:

  1. Используйте Array.prototype.sort() вместе с оператором расширения (...), чтобы создать поверхностную копию массива и отсортировать его по убыванию.
  2. Используйте Array.prototype.slice(), чтобы получить указанное количество элементов.
  3. Если вы опустите второй аргумент, n, по умолчанию вы получите массив из одного элемента.
  4. Если n больше или равно длине предоставленного массива, то верните исходный массив (отсортированный по убыванию).

Вот JavaScript-код для функции maxN, которая реализует эти шаги:

const maxN = (arr, n = 1) => [...arr].sort((a, b) => b - a).slice(0, n);

Вы можете протестировать функцию maxN с помощью следующих примеров:

maxN([1, 2, 3]); // [3]
maxN([1, 2, 3], 2); // [3, 2]

Резюме

Поздравляем! Вы завершили лабу по N максимальным элементам. Вы можете практиковаться в более лабах в LabEx, чтобы улучшить свои навыки.