javascript中slice(),splice(),split(),substring(),substr() 总是容易混淆…今天记录一下我的体会,也方便各位的使用。
这篇专注于数组操作,下篇再说字符串(才不是因为我太懒2333
Array.splice() vs Array.slice()
- splice 返回一个数组中被删除的项目,slice返回被选择的项目,并作为一个新数组返回。
- splice改变原有array, slice不改变
- splice可以带有多个参数(作为插入值使用)
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])MDN
参数1: 指定在哪个位置添加/移除项目,使用负值代表从末尾开始。(起始的索引从0开始,末尾的索引从-1开始,即-1代表最后一个元素)
参数2: 可选。要删除的项目数量,0表示不删除。—-(如果此参数小于0,会被视为0,并不会报错)
参数3-n: 可选。要添加到数组中的新项目。1
2
3
4
5
6
7
8
9
10
11
12
13var array=[1,2,3,4,5];
console.log(array.splice(2)); // [3, 4, 5], 从2开始删一直到末尾
console.log(array);// [1, 2], 原来的array被改变
-5 -4 -3 -2 -1
| | | | |
var array4=[16,17,18,19,20];
| | | | |
0 1 2 3 4
console.log(array4.splice(-2,1,"me")); // [19] 返回删除的数字19,在此处插值'me'
console.log(array4); // [16, 17, 18, "me", 20]
Slice()
arr.slice([begin[, end]])
- 必需。指定从何处开始选择(第一个元素的索引为0),负数则从数组的末尾进行选择。
- 可选。指定结束选择的位置。如果省略,则选择从数组的起始位置和结束位置所有元素,负数则从数组的末尾进行选择。
(slice extracts up to but not including end.不包括最后的end-)MDN
1 | var array=[1,2,3,4,5] |
###
Slice()也有array方法不过不在此文的讨论范围内,明天应该会上线String处理的几个方法,感谢阅读!(鞠躬