使用javascript如何删除数组的指定元素?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
方法1:splice方法
//获取元素在数组的下标Array.prototype.indexOf = function(val) {for (var i = 0; i < this.length; i++) {if (this[i] == val){ return i;};}return -1; };//根据数组的下标,删除该下标的元素Array.prototype.remove = function(val) {var index = this.indexOf(val);if (index > -1) {this.splice(index, 1);}};//测试数据var insertAttaList = ['abs','dsf',,'abc','sdf','fd'];insertAttaList.remove('abc');
splice(index,len,[item])
注释:该方法会改变原始数组。
splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值
index:数组开始下标
len: 替换/删除的长度
item:替换的值
删除操作的话 item为空
如:
arr = [‘a’,‘b’,‘c’,‘d’]
删除 ---- item不设置
arr.splice(1,1) //[‘a’,‘c’,‘d’] 删除起始下标为1,长度为1的一个值,len设置的1,如果为0,则数组不变arr.splice(1,2) //[‘a’,‘d’] 删除起始下标为1,长度为2的一个值,len设置的2
【推荐学习:javascript高级教程】
替换 ---- item为替换的值
arr.splice(1,1,‘ttt’) //[‘a’,‘ttt’,‘c’,‘d’] 替换起始下标为1,长度为1的一个值为‘ttt’,len设置的1arr.splice(1,2,‘ttt’) //[‘a’,‘ttt’,‘d’] 替换起始下标为1,长度为2的两个值为‘ttt’,len设置的1
添加 ---- len设置为0,item为添加的值
arr.splice(1,0,‘ttt’) //[‘a’,‘ttt’,‘b’,‘c’,‘d’] 表示在下标为1处添加一项‘ttt’
方法2:delete方法
delete删除掉数组中的元素后,会把该下标出的值置为undefined,数组的长度不会变
如:
delete arr[1] //[‘a’, ,‘c’,‘d’]
中间出现两个逗号,数组长度不变,有一项为undefined
看完上述内容,你们掌握使用javascript如何删除数组的指定元素的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!