[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 []
[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 []
您可以致电:
arr.slice(Math.max(arr.length - 5, 1))
如果您不想排除第一个元素,请使用
arr.slice(Math.max(arr.length - 5, 0))
这是我从未见过的更短的
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)
如果您正在使用lodash,它甚至简单takeRight。
_.takeRight(arr, 5);
var y = [1,2,3,4,5,6,7,8,9,10];
console.log(y.slice((y.length - 5), y.length))
你可以这样做!
试试这个:
var array = [1, 55, 77, 88, 76, 59];
var array_last_five;
array_last_five = array.slice(-5);
if (array.length < 6) {
array_last_five.shift();
}