slice(开始位置,结束位置)
1.返回的数组,是开始位置到结束位置,但是不包含结束位置
let a=[1,2,3,4,5]
> a.slice(0,3)
===> 开始位置 : 下标[0] 1
===> 结束位置 : 下标[3] 4
===> 范围: 1,2,3,4
===> 结果:[1,2,3] (不包含结束位置)
2.一个参数时,从当前开始位置,到数组最后位置
let a=[1,2,3,4,5]
>a.slice(1)
===> 开始位置 : 下标[1] 2
===> 结束位置 : 到最后
===> 范围: 2,3,4,5
===> 结果:[2,3,4,5]
3.参数为负数,相对于最后一个,倒着数过来
let a=[1,2,3,4,5]
>a.slice(1, -1)
===> 开始位置 : 下标[1] 2
===> 结束位置 : 倒数最后一个,5
===> 范围: 2,3,4,5
===> 结果:[2,3,4] (不包含结束位置)
let a=[1,2,3,4,5]
>a.slice(-3,-1)
===> 开始位置 : 倒着数第三个 3
===> 结束位置 : 倒数最后一个,5
===> 范围: 3,4,5
===> 结果:[3,4] (不包含结束位置)
splice(开始位置,要删的个数,可插入元素【可写多个】)
1.一个参数时,从当前下标到最后都删掉
let a=[1,2,3,4,5]
>a.splice(1)
===> 开始位置 : 下标[1],2
===> 结束位置 : 到最后
===> 范围: 2<---->最后
===> 被删部分(a.splice):[2,3,4,5]
===> a的结果:[1]
2.第一个参数--开始位置,第二个参数--删除的个数
即:从开始位置向后删除几个
let a=[1,2,3,4,5]
>a.splice(1,2)
===> 开始位置 : 下标[1],2
===> 结束位置 : 向后删两个,包括自己2,到3
===> 范围: 2<---->3
===> 被删部分(a.splice):[2,3]
===> a的结果:[1,4,5]
3.第二个参数为0的情况,返回一个空数组
let a=[1,2,3,4,5]
>a.splice(1,0)
===> 开始位置 : 下标[1],2
===> 结束位置 : 空数组
===> 范围: [ ]
===> 被删部分(a.splice):[ ]
===> a的结果:[1,2,3,4,5]
4.第三个参数以及后面的都为要插入的元素
插入的过程当中,插入到当前开始位置的前面
第一种情况,第二个参数为0的情况
let a=[1,2,3,4,5]
>a.splice(1,0,'a','b')
===> 开始位置 : 下标[1],2
===> 结束位置 : 空数组
===> 范围: 在2前面插入两个元素 'a','b'
===> 被删部分(a.splice):[ ]
===> a的结果:[1, "a", "b", 2, 3, 4, 5]
5.第二个参数不为0的情况进行插入
let a=[1,2,3,4,5]
>a.splice(1,2,[6,7])
===> 开始位置 : 下标[1],2
===> 结束位置 : 向后共两位,包括自己,到3
===> 范围: 在2前面插入两个元素 'a','b'
===> 被删部分(a.splice):[2,3 ]
===> 删除后剩余结果:[1,4,5]
===> a的结果:在第一个参数位置前面插入,
即下标[1],就是4前面
结果[1,[6,7],4,5]