Введение
В этом лабе мы исследуем функцию maxN, которая используется для возврата n максимальных элементов из заданного массива. Мы узнаем, как использовать Array.prototype.sort(), оператор расширения (...) и Array.prototype.slice() для сортировки и среза массива по убыванию и возврата указанного количества элементов. Этот лаб поможет вам лучше понять манипуляции с массивами в JavaScript.
Как получить n максимальных элементов из массива в JavaScript
Для практики программирования на JavaScript откройте Терминал/SSH и введите node. После этого вы можете использовать следующие шаги, чтобы получить n максимальных элементов из массива:
- Используйте
Array.prototype.sort()вместе с оператором расширения (...), чтобы создать поверхностную копию массива и отсортировать его по убыванию. - Используйте
Array.prototype.slice(), чтобы получить указанное количество элементов. - Если вы опустите второй аргумент,
n, по умолчанию вы получите массив из одного элемента. - Если
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, чтобы улучшить свои навыки.