JS数组学习之如何根据数组下标删除任意元素
利用delete运算符一次只能删除一个数组元素,且因为不改变数组长度,我们就无法通过length属性来观察这个数组的变化了。那么如果想要在指定下标位置删除一个或多个元素,且是真正的删除这些元素,数组长度要有改变,这要怎么做呢?
可以使用 splice() 方法。之前就说过了splice() 是一个强大的方法,我们已经了解了怎么使用它来插入元素,这次来了解一下怎么使用splice()来在指定下标位置删除一个或多个元素。
删除元素的语法:
array.splice(index,howmany)
-
第1个参数
index
可以指定起始下标位置(即开始删除元素的位置); -
第2个参数
howmany
指定应该删除的元素数目(即需要删除的一个或多个元素)。
我们通过下面的例子来具体看看:
var arr= [1,2,3,4,5]; console.log(arr); arr.splice(1,2); console.log(arr);
可以看出:使用arr.splice(1,2)
从下标1的位置(数组第2个元素)开始删除2个元素,也就是删除了arr[1]
和arr[2]
,因此输出结果为:
利用splice() 方法我们也可以实现在数组开头和末尾删除元素的操作:
-
如果想要在数组开头删除元素,就设置该方法第1个参数index的值为0即可
var arr= [1,2,3,4,5]; console.log(arr); arr.splice(0,2); console.log(arr);
-
如果想要在数组末尾删除元素,就设置该方法第1个参数index的值为负数,那么就会按绝对值从数组右侧开始向左侧定位;且第2个参数 howmany的值要 等于 index的值。
var arr= [1,2,3,4,5]; console.log(arr); //从倒数第二个元素开始,截取两个元素 arr.splice(-2,2); console.log(arr);
以上就是JS数组学习之如何根据数组下标删除任意元素的详细内容,更多请关注毛票票其它相关文章!