Javascript for 循环跳过最后一个元素

标签 javascript

我有一个数组,根据某些条件从中删除某些元素,当我删除元素时,我会重新启动 for 循环,因为索引已刷新。

var k;
for( k=0 ; k < this.j_data.length;k++){
     if(condition === true){
       this.j_data.splice(k, 1);
       k = 0; // restart
     }
}

我的数组 this.j_data 有两个元素都应该被拼接删除,但是在删除第一个元素后,最后一个元素被循环跳过。

知道缺少什么

最佳答案

感谢@Jaromanda X

k++ 先出现所以 k=-1 解决问题

var k;
for( k=0 ; k < this.j_data.length;k++){
     if(condition === true){
       this.j_data.splice(k, 1);
       k = -1; // restart
     }
}

关于Javascript for 循环跳过最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43275016/

相关文章:

javascript - Div insideHTML 重写失败

javascript - 如何根据某些条件在 <td> 标记内动态包含 rowspan 和 colspan

javascript - 是否可以在智能手机上触发共享菜单(通过 HTML/JS)?

javascript - 无法在三个 js 中旋转或平移我的全景图

javascript - 提交表单后重定向到index.html - 如何显示消息

javascript - 在 JS 中使用这个还是新的?

javascript - 当我无法设置 CSS 动画时,如何触发 "animationend"事件?

javascript - 如何清除jquery中的输入文件字段?

javascript - 获取LocalStorage中元素的数量

javascript - 饼图的颜色模式