在javascript数组中,如何获取最后5个元素,不包括第一个元素?

In a javascript array, how do I get the last 5 elements, excluding the first element?

1
[1, 55, 77, 88] // ...would return [55, 77, 88]

添加其他示例:

1
2
3
[1, 55, 77, 88, 99, 22, 33, 44] // ...would return [88, 99, 22, 33, 44]

[1] // ...would return []


您可以拨打:

1
arr.slice(Math.max(arr.length - 5, 1))


这是一个我没见过的更短的

arr.slice(1).slice(-5)

运行下面的代码段以证明它执行了您想要的操作

1
2
3
4
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缩小文件,也可以这样做。

江户十一〔一〕号


如果你使用的是罗达什,那么它更简单。

埃多克斯1〔2〕


试试这个:

1
2
3
4
5
6
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();
}


1
2
3
var y = [1,2,3,4,5,6,7,8,9,10];

y.slice((y.length - 5), y.length)

你能做到!


最简单的解决方案是:

1
2
3
4
arr // input array
let numberOfLastItems = 5;

arr.slice((arr.length - numberOfLastItems), arr.length)