- 加入我的QQ群
- 关注我的百家号
扫描下面的二维码,“关注”我的百家号。
说到javascript的数组,就离不开数组元素的删除和添加。一般情况下,我们删除数组元素会用到pop函数,添加数组元素会用push函数。这2个函数都是从数组的最后一个元素开始操作的。如果,我们们想删除指定的数组元素,如:删除数组下标为2的元素,pop函数就无能为力了。这时,我们可以使用splice函数,splice函数集成了pop和push函数功能的同时,还拥有pos和push所没有功能。
语法结构:
splice(key,num,index1,index2,index3...)
key:数组下标,表示从下标为几的数组元素开始删除或添加。
num:删除的长度。表示删除几个元素。
index1、index2、index3:表示需要添加到数组的字符串
下面,我们以一个数组作为案例,来解说这个splice函数的用法。
数组:
var arr = ['gao','wanlimm','ssmay','dream','vue','angular'];
例1:从下标1开始删除1个元素
arr.splice(1,1);
数组结果:
['gao','ssmay','dream','vue','angular']
我们可以看到下标为1的元素wanlimm被删除了。
例2:从下标1开始添加1个元素 hao
arr.splice(1,0,'hao');
数组结果:
['gao','hao','wanlimm','ssmay','dream','vue','angular']
这里没有删除下标为1的元素,因为第2个参数是0,表示删除的长度为0。而是直接把hao添加到数组下标为1的地方。而原下标1的元素向后移动1位。
例3:从下标1开始删除3个元素,并添加2个元素 hao和hello
arr.splice(1,3,'hao','hello');
数组结果:
['gao','hao','hello','vue','angular']
splice删除了3个元素:wanlimm、ssmay、dream;然后,添加了hao和hello到数组中。
从上面的案例中,我们了解到,splice函数只有2个参数时,就是删除。如果有3个或3个以上参数时,就是删除数组元素并同时添加新元素到指定的下标处。
说真的,数组在开发实战中还真的经常遇到。
参考:array.splice(index,howmany,item1,…..,itemX);删除指定个数,添加item1…itemx;item可选参数