js 数组遍历时删除元素

JavaScript019

js 数组遍历时删除元素,第1张

参考

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--失效。

测试结果说明可以安全删除

1、新建HTML文件。

2、引入jquery.min.js文件。

3、创建div和按钮并添加class样式。

4、接下来需要创建css样式。

5、创建js点击事件。

6、当点击按钮移除div元素。

7、点击按钮效果如图所示。

扩展资料

1、<body></body>所有div应该都放在body里面  应该这个才是内容区你把他们反正不是头和内容直接,网页解析肯定会出错的。

2、样式区域<style> 在里面必须加上type="text/css"这样才能搞错浏览器这部分为CSS样式部分,用CSS去解析而不是HTML。

3、内容区镶套了大量的多余DIV这属于多DIV症,这样会导致页面镶套混乱,然后加上你的那多浮动会出现做迷藏事件。

4、浮动后没有清楚浮动这样会产生很多的影响。