在 JavaScript 中获取数组中的最大 n 个值


我们需要编写一个 JavaScript 函数,该函数将数字数组作为第一个参数,将一个数字(假设为 n)作为第二个参数。

然后,我们的函数应该从数组中选取 n 个最大的数字,并返回包含这些数字的新数组。

示例

代码实现如下 −

const arr = [3, 4, 12, 1, 0, 5, 22, 20, 18, 30, 52];
const pickGreatest = (arr = [], num = 1) => {
   if(num > arr.length){
      return [];
   };
   const sorter = (a, b) => b - a;
   const descendingCopy = arr.slice().sort(sorter);
   return descendingCopy.splice(0, num);
};
console.log(pickGreatest(arr, 3));
console.log(pickGreatest(arr, 4));
console.log(pickGreatest(arr, 5));

输出

控制台中输出如下 −

[ 52, 30, 22 ]
[ 52, 30, 22, 20 ]
[ 52, 30, 22, 20, 18 ]

更新于: 23-11-2020

498 次浏览

开启你的职业

通过完成课程获得认证

开始吧
广告