[1, 55, 77, 88] // ...would return [55, 77, 88]
添加其他示例:
[1, 55, 77, 88, 99, 22, 33, 44] // ...would return [88, 99, 22, 33, 44]
[1] // ...would return []
发布于 2011-06-25 05:18:30
您可以拨打:
arr.slice(Math.max(arr.length - 5, 1))
如果不想排除第一个元素,请使用
arr.slice(Math.max(arr.length - 5, 0))
发布于 2015-12-19 06:43:34
这是我没见过的更短的
arr.slice(1).slice(-5)
运行下面的代码片段来证明它做了您想要做的事情
var arr1 = [0, 1, 2, 3, 4, 5, 6, 7],
arr2 = [0, 1, 2, 3];
document.body.innerHTML = 'ARRAY 1: ' + arr1.slice(1).slice(-5) + '<br/>ARRAY 2: ' + arr2.slice(1).slice(-5);
另一种方法是使用lodash https://lodash.com/docs#rest -当然,如果你不介意在浏览器中加载一个巨大的javascript压缩文件。
_.slice(_.rest(arr), -5)
发布于 2016-05-31 14:27:23
如果你使用的是lodash,使用takeRight就更简单了。
_.takeRight(arr, 5);
https://stackoverflow.com/questions/6473858
复制相似问题