在JavaScript数组中,我如何得到最后5个元素,不包括第一个元素?

[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 []

当前回答

试试这个:

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();
}

其他回答

ES6道:

我使用解构赋值数组来获得第一个和剩余的其余元素,然后我将使用slice方法获取剩余的最后五个元素:

const cutOffFirstAndLastFive = (array) => { Const[首先,…Rest] =数组; 返回rest.slice (5); } cutOffFirstAndLastFive([1,55,77,88]); console.log ( “测试:”, JSON。stringify(cutOffFirstAndLastFive([1,55,77,88])), JSON。stringify(cutOffFirstAndLastFive([1, 55, 77, 88, 99, 22, 33, 44])), JSON.stringify (cutOffFirstAndLastFive ([1])) );

你可以致电:

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

如果不想排除第一个元素,请使用

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

试试这个:

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();
}

var y = [1,2,3,4,5,6,7,8,9,10]; console.log(y.slice((y.length - 5), y.length))

你能做到的!

如果你正在使用lodash,它甚至更简单的takeRight。

_。takeRight(加勒比海盗5);