js删除数组指定下标的元素
现在遇到一个需求要删掉下标为index的元素,下面介绍两种方法:
一、splice:删除后,后面的元素自动填补到前面
arr.splice(index, 1)
举例:现在有数组 arr=['a','b','c','d']
arr.splice(1, 1); //结果arr=['a','c','d'](下标1开始,删除1个)
注意:
上面的代码中,我们要注意,如果想修改 arr 的值,直接这样操作 arr 直接就变了,而不要写作 arr= arr.splice(1,1),因为 splice() 方法的返回值为删除掉的元素。
补充:
- spice增加:
arr.splice(1,0,'str'); //结果arr=['a','str','b','c','d']
- spice替换:
arr.splice(1,1,'str'); //结果arr=['a','str','c','d']
- spice替换2:
arr.splice(1,2,'str'); //结果arr=['a','str','d'](就是说:下标1开始2个换成1个“str”)
- spice删除多个:
arr.splice(1,2); //结果arr=['a','d']
二、delete:删除后,该下标位置元素为undefined
delete arr[index];//结果arr=['a',undefined,'c','d']