关于JS数组循环删除元素出现下标不对的问题


问题: 假设有一个数组 arr [a,b,c,d,e] ,想把 c 和 d 从数组删除

解决方法: 循环数组,再用 splice 方法删除 , 删除c的时候会发数组的下标已经发生改变 ,

所以这个方法要改进一下 。

1,把数组复制。把有效的元素push进新数组 。

2,用逆向循环。 

for (var i = arr.length - 1; i >= 0; i--) { if (判断条件) { arr.splice(i, 1); } }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM