【解决】js for循环splice()方法删除数组中的元素会被跳过或者只能删除部分

根据特定的条件,要删除数组中的一些值,用了for循环和splice()方法,结果遇到了问题,有些数据本该删掉的数据却保留了下来,像是被splice()方法故意跳过一样。


普通for循环

研究一下splice()方法,其注意事项是:“这种方法会改变原始数组”,也就是说,在循环执行的时候,只要满足了执行splice()方法的条件,原始数组立马就会被改变,其对应的数组长度也立马会被改变,但此时循环中下标“sp”仍然是原始数组的长度。于是修改方法如下:


倒序循环法

时间紧急,目前想到这个方法最容易,记录一下,希望有高招的朋友多多指点。

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

推荐阅读更多精彩内容

  • 首先给大家介绍javascript jquery中定义数组与操作的相关知识,具体内容如下所示: 1.认识数组 数组...
    JamHsiao_aaa4阅读 6,120评论 0 2
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,449评论 0 4
  • 转载:在开发中,数组的使用场景非常多,平日中也涉及到很多数组的api/相关操作,一直也没有对这块内容进行一块整理总...
    七色烟火阅读 8,482评论 0 3
  • var arr=['a','b','c']; 若要删除其中的'b',有两种方法:1.delete方法:delete...
    南山码农阅读 4,202评论 0 1
  • 1. push(),pop() push方法用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。注意...
    东郭皮蛋阅读 2,972评论 0 0