从提供的数组中返回 n
个最大元素。如果 n
大于或等于提供的数组长度,则返回原数组(按降序排列)。
结合使用Array.sort()
与展开操作符(...
) ,创建一个数组的浅克隆,并按降序排列。 使用 Array.slice()
以获得指定的元素个数。 忽略第二个参数 n
,默认获取单个元素(以数组的形式)。
const maxN = (arr, n = 1) => [...arr].sort((a, b) => b - a).slice(0, n);
maxN([1, 2, 3]); // [3] maxN([1, 2, 3], 2); // [3,2]