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

2022-08-30 00:05:45

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

答案 1

您可以致电:

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

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

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

答案 2

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

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)