第一步:
首先我们要先通过JavaScript代码来判断我们要删除的元素是否在这个数组里,我们可以通过以下的方法来实现这个功能
第二步:
通过上述的方法可以定义一个函数来判断是否指定元素在数组里,若在数组里则返回true,不在数组里则返回false,我们也可以通过indexOf方法来判断指定元素是否在数组里
第三步:
用indexOf方法需要注意两点,一是indexOf方法中的O必须要大写,二是这个方法在IE浏览器中的数组不存在这个方法
第四步:
找到要删除的元素的索引后通过以下的函数方法对这个元素进行删除,这个功能的实现主要通过splice()方法实现,splice()方法主要用于删除、替换、添加数组中的元素等等
看了我的方法,现在你学会如何js数组删除指定下标元素了吗?学会了的话就快快把这个方法分享出去,让更多的人知道如何js数组删除指定下标元素。以上就是js数组删除指定下标元素的步骤。
本文章基于Dell品牌、Windows10系统撰写的。
var a = new Array("a","b","cc","d3")//
删除a数组的cc元素
//jQuery.inArray()函数用于在数组中搜索指定的值,并返回其索引值。如果数组中不存在该值,则返回 -1。该函数属于全局jQuery对象。
jquery 1.2中添加的该静态方法var index = $.inArray("cc",a)
if(index>=0){//arrayObject.splice(index,howmany,item1,.....,itemX)
//参数描述//index 必需。
整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置,//howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
//item1, ..., itemX 可选。向数组添加的新项目。
a.splice(index,1)
alert(a.totring())
}else{
alert("error") return false
}
参考
js在循环遍历数组中删除指定元素踩坑( foreach.. for.. for..in.. )
JS-数组遍历中删除元素的方法优化
第一次forEach循环,arr是[1, 1, 2],index是0,item是1,if条件成立, 使用splice删除了item1,arr变成[1, 2]
第二次forEach循环,arr是[1, 2],index是1,item是2,if条件不成立,使用splice无法删除了第二个重复的1
出现问题的原因就是splice删除当前数据时,导致后面的数据前移,最直接的解决办法就是i也跟着前移即可。
注意,此时使用For in遍历是不行的
原因是迭代器的i,每次都重新取值了,i--失效。
测试结果说明可以安全删除