有时候我们会遇到这种需求,截取数组中后5个元素作为一个新数组,且顺序不能变。数组中的slice()方法和splice()方法都可以实现这样的操作。
const arr = [1,2,7,2,6,0,3,1,5,7,8,9,45,12,34,0,56,12,2] // slice()方法 const sliceArr = arr.slice(-5) console.log('sliceArr ',sliceArr) // 得到[34,0,56,12,2] // slice(start,end)表示从下标start开始到下标end(不包括end)进行截取,得到的是一个新数组,不改变原数组。当start为负值时表示从倒数第几个元素开始往后截取,不填end的话就表示从倒数第几个元素开始截取,一直截取到数组末尾元素。 // splice()方法 const spliceArr = arr.splice(-5,5) console.log('spliceArr',spliceArr) // 得到[34,0,56,12,2] // splice()方法有三个参数,分别表示从哪个下标开始,删几个,新元素。可以实现增加,删除,替换数组元素的功能。arr.splice(-5,5)表示从倒数第五个元素开始,删五个元素。巧妙的是该方法的返回值是删除的元素集合。同时该方法改变了原数组。原数组变成了除了删除的元素剩下的元素集合。