const arr = [a,b,c,d,e,f],其下标为0、1、2、3、4、5,
红色为原数组中被删掉的数组元素,未变色的为splice返回值
splice第一个是删除的开始位数,第二位代表一个大于等于0的要删除几位,后n位是要插入的元素
splice(1) 删除1位及其后所有元素 // 原[a,b,c,d,e,f] 返回[a]
splice(-2) 删除倒数第二位及最后 // 原[a,b,c,d,e,f] 返回[a,b,c,d]
splice(1,2) 删除1位及其后共两位元素 // 原[a,b,c,d,e,f] 返回[a,d,e,f]
splice(-2,4) 删除包括从倒数第二位开始的后四位 // 原[a,b,c,d,e,f] 返回[a,b,c,d]
splice(1,1,1,1,1)删除1位,在1位处加入1、1、1 // 原[a,1,1,1,b,c,d,e,f] 返回[a,1,1,1,c,d,e,f]
slice(0,3)截取并返回0-2位的 // 原数组不变 返回[a,b,c]
slice(-3,-1)截取并返回倒数第三到倒数第二位的 // 原数组不变 返回[d,e]
slice(1,-1)截取并返回1位到倒数第二位的 // 原数组不变 返回[d,e]
slice(3)截取2位至最后 // 原数组不变 返回[c,d,e,f]
slice()截取全部 // 原数组不变 返回[c,d,e,f]
拓展练习
[1,2,3,4,5].splice(3) //
[1,2,3,4,5].splice(5) //
[1,2,3,4,5].splice(5,2) //
[1,2,3,4,5].splice(5,-2) //
[1,2,3,4,5].splice(-5) //
[1,2,3,4,5].splice(-5,2) //
[1,2,3,4,5].splice(-6,2) // 倒数超出范围就按第一个算
[1,2,3,4,5].splice(1,2,3,4,5) //
[1,2,3,4,5].splice(-6,2,1,2,3) // 倒数超出范围后添加的数值无效
[1,2,3,4,5].slice(1,2,3,4,5) // 后几个输入值为无效值,直接忽略
[1,2,3,4,5].slice(-3,0) // 如果第一个是倒数计算的,第二个也倒数
[1,2,3,4,5].slice(-9,-1) // 倒数超出范围就按第一个算