一、slice(start,end)
此方法返回截取后的元素,返回一个新的数组,包含从start到end(不包含该元素)的数组元素,注意:该方法不会改变原数组,而是返回一个新的数组
①start参数:规定从何处开始选取,如果为负数,规定从数组尾部开始的位置,-1是指最后一个元素,那么-2是指倒数第二个元素。
②end参数:可选(如果没有写end参数,那么截取的元素包含从start开始到末尾的所有的元素,如何end参数是负数,那么规定是从数组尾部开始的元素)
③slice()也可以操作字符串
const arr = [1,2,3,4,5]
console.log(arr.slice(1)) //[2,3,4,5] 选择序列号从1开始到末尾的全部元素组成的新数组。
console.log(arr.slice(1,3)) //[2,3]
const str = '1000000'
const sliceStr = str.slice(-3) //000 从序列号为-3的位置到最后(-1是倒数第一的位置)
'123456789'.slice(2,-3) // '3456' 从第二个位置到倒数第四个位置,不包含倒数第三个位置
//使用slice()来创建一个新的数组 这样就不会改变原来的数组 reverse()会直接改变原函数
let reverseArr = res.slice().reverse()
二、splice()
该方法用于向数组中添加或者删除项目,返回被删除的项目,注意:该方法会改变原数组
splice(index,nums,item1,…itemx)
index参数:必须,规定添加或者删除的位置,使用负数,从数组尾部规定位置开始
nums参数: 必须,要删除的数量,如果为0,则不删除项目
item1…itemx参数:可选,想数组中添加的新的项目
const arr = [1,2,3,4,5]
console.log(arr.splice(2,1,'hello') ) //[3] 返回的新数组
console.log(arr) //[1,2,'hello',4,5] 改变了原数组