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

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

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

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

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

2,用逆向循环。 

for(vari = arr.length -1; i >=0; i--) {

if(判断条件) {

 arr.splice(i,1);

 }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第五章******************************************************...
    fastwe阅读 709评论 0 0
  • 1.用js实现随机选取10~100之间的10个数字,存入一个数组,并排序 //要是获取不重复的,则对随机数...
    persistlu阅读 5,644评论 0 0
  • 首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组...
    JamHsiao_aaa4阅读 2,007评论 0 2
  • 第一部分:快速入门JS学习中的一些注意点:2018.8.16基础知识: 入门JavaScript是世界上最流行的脚...
    天山雪莲_38324阅读 547评论 0 1
  • 1、join() join(separator): 将数组的元素组起一个字符串,以separator为分隔符,省略...
    泽玲_d7fb阅读 570评论 0 1