从数组中检索最大元素

Beginner

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

简介

在本实验中,我们将探究 maxN 函数,该函数用于从给定数组中返回 n 个最大元素。我们将学习如何使用 Array.prototype.sort()、展开运算符 (...) 和 Array.prototype.slice() 对数组进行降序排序和切片,并返回指定数量的元素。本实验将帮助你加深对 JavaScript 中数组操作的理解。

如何在 JavaScript 中从数组获取 n 个最大元素

要在 JavaScript 中练习编码,请打开终端/SSH 并输入 node。完成此操作后,你可以使用以下步骤从数组中获取 n 个最大元素:

  1. 使用 Array.prototype.sort() 并结合展开运算符 (...) 创建数组的浅克隆,并按降序排序。
  2. 使用 Array.prototype.slice() 获取指定数量的元素。
  3. 如果你省略第二个参数 n,默认情况下将得到一个单元素数组。
  4. 如果 n 大于或等于所提供数组的长度,则返回原始数组(按降序排序)。

以下是实现这些步骤的 maxN 函数的 JavaScript 代码:

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 中练习更多实验来提升你的技能。