数组中删除某个对象

本文探讨了在JavaScript中使用for循环删除数组元素时,由于下标变化可能导致的遗漏问题。通过设置标志变量flag,当满足特定条件时阻止i递增,确保所有符合条件的元素都能被正确删除。这种方法在处理动态数据时十分关键,避免了遍历过程中的逻辑错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js中循环删除某一项会导致下标出现变化,因此splice方法删掉一个元素后,后面紧邻的元素不会被遍历到,就会存在想删除的数据没删除掉,在i++的 位置做了判断,flag为true则++,为false则不变。

for(var i=0,flag=true,len=this.rowArr.length;i<len;flag ? i++ : i){
	if( this.rowArr[i]&&this.rowArr[i].date==row.date&&this.rowArr[i].actType==row.actType ){
	    this.rowArr.splice(i,1);
	    flag = false;
	} else {
	    flag = true;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值