splice和slice的用法和区别你get了吗
1.splice
splice(start,deleteCount,item1,item2,...)
splice(第一个值为从何处开始,第二个值为删除几个,第三个为插入内容)
-
第一个值为index下标,从0开始,删除数组内的第几个元素
-
第二个值为删除几个元素,从第一个值定义的下标位置开始
-
第三个为插入内容
-
有三个参数
-
如果没有要删除的元素,第二个位置为0就OK啦
-
原始数组会变,长度也会变
-
截取元素的话是闭区间,start end都会被截取到
-
返回增加或删除的值
1.插入元素
let arr = ["a","c","d"];
arr.splice(1,0,"b")
console.log(arr)
结果
(4) ['a', 'b', 'c', 'd']
0: "a"
1: "b"
2: "c"
3: "d"
length: 4
2. 截取元素,前后都是闭区间
let arr = ["a", "b", "c", "d", "e"];
let arr1 = arr.splice(2, 3);
console.log(arr1);
console.log(arr)
结果:
3) ['c', 'd', 'e']
0: "c"
1: "d"
2: "e"
length: 3
(2) ['a', 'b']
0: "a"
1: "b"
length: 2
原数组发生变化
2.slice
截取一段数组
slice(start,end)
- 从start开始到end,但不包括end 后面是开区间
- 原始数组不会变
- 有2个参数
- 返回截取的数组片段
1.
let arr = ["a", "b", "c", "d", "e"];
let arr1 = arr.slice(2, 4);
console.log(arr1);
console.log(arr)
- 结果:
Array(2)
0: "c"
1: "d"
length: 2
Array(5)
0: "a"
1: "b"
2: "c"
3: "d"
4: "e"
length: 5
说明slice不会改变原始数组