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)) |
这是一个我没见过的更短的
运行下面的代码段以证明它执行了您想要的操作
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) |