在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 []
在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 []
当前回答
你可以像这样在一行中完成:
Const y = [1,2,3,4,5,6,7,8,9,10]; const lastX = 5; Const res = y.filter((val, index, arr) => index > arr。长度- lastX - 1); console.log (res);
.filter((val, index, arr) => index > arr.length - 6)
其他回答
array.reverse()
.slice(0,5)
.reverse() //if you wanna keep the order of last 5
const myOriginalArray = [...Array(10).keys()] //making an array of numbers
const instanceFromlastFiveItemsOfMyArray = [
...myOriginalArray.reverse().slice(0,5).reverse()
]
初学者的解决方案:
var givme = function(n) {
if(n.length == 1) {
return [];
}
if(n.length > 5) {
return n.slice(n.length-5, n.length);
}
if(n.length <= 5) {
return n.slice(1, n.length);
}
}
// console.log(givme([1, 55, 77, 88, 99, 22, 33, 44]));
你可以致电:
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();
}
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])) );