首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在javascript数组中,如何获取除第一个元素之外的最后5个元素?

在javascript数组中,如何获取除第一个元素之外的最后5个元素?
EN

Stack Overflow用户
提问于 2011-06-25 05:17:17
回答 7查看 220.3K关注 0票数 276
代码语言:javascript
复制
[1, 55, 77, 88] // ...would return [55, 77, 88]

添加其他示例:

代码语言:javascript
复制
[1, 55, 77, 88, 99, 22, 33, 44] // ...would return [88, 99, 22, 33, 44]

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

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-06-25 05:18:30

您可以拨打:

代码语言:javascript
复制
arr.slice(Math.max(arr.length - 5, 1))

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

代码语言:javascript
复制
arr.slice(Math.max(arr.length - 5, 0))
票数 451
EN

Stack Overflow用户

发布于 2015-12-19 06:43:34

这是我没见过的更短的

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

运行下面的代码片段来证明它做了您想要做的事情

代码语言:javascript
复制
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)

票数 100
EN

Stack Overflow用户

发布于 2016-05-31 14:27:23

如果你使用的是lodash,使用takeRight就更简单了。

_.takeRight(arr, 5);

票数 42
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6473858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档