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

当前回答

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()
    ]

其他回答

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

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

你可以致电:

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

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

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

初学者的解决方案:

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

你可以像这样在一行中完成:

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)