You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JS如何使用slice获取数组末尾按DESC降序排列的指定数量元素

正确实现方法

直接调用slice取末尾元素后再执行reverse反转即可,完整代码如下:

const originArr = [1, 2, 3, 4, 5, 6];
// slice(-3) 提取数组最后3位,返回新数组 [4,5,6]
// reverse() 反转新数组得到降序结果,不会修改原数组
const res = originArr.slice(-3).reverse();
console.log(res); // 输出 [6, 5, 4]

原理说明

  • slice方法传入负整数-3时,会从数组倒数第3位开始截取到数组末尾,得到顺序和原数组一致的子数组[4,5,6]
  • 由于slice返回的是浅拷贝的新数组,后续调用reverse只会修改这个新子数组的顺序,不会影响原数组

如果需要兼容数组长度不足3的场景,上述写法也可以正常执行:当数组长度小于3时,slice(-3)会返回整个数组,反转后即可得到全量降序结果。

内容的提问来源于stack exchange,提问作者Dmitry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 14:36:03