js數(shù)組,在遍歷中刪除元素
//有效的方式--改變下標(biāo),控制遍歷
for(var i=0;i<arr.length;i++){
if(...){
//使后面的元素前移,數(shù)組長度減1,
//如果不減,將漏掉一個元素
arr.splice(i,1);
i--
}
}
//無效的方式--for...in無法控制遍歷
for(let i in arr){
if(...){
arr.splice(i,1)
i--
}
}
總結(jié):
- 使用第一種方式才能改變下標(biāo),控制遍歷
- 第二種方式無法控制遍歷
- 在遍歷完數(shù)組后需要減-1,否則會漏下一個元素未刪除