【发布时间】:2020-01-05 06:57:27
【问题描述】:
我正在尝试编辑一个数组并删除不满足特定条件的元素。如果我将reverse for loop 与.splice(index,n) 结合使用,则代码可以正常工作。我坚持使用 ES6 for...of 循环实现相同的功能
let array=[1,2,3];
//reverse for loop
for(var i=array.length - 1; i>=0; i--) {
if(array[i]>=2) {
/*Collect element before deleting it.*/
array.splice(i,1);
}
}
console.log(array);
// returns [1]
用于..of
let array=[1,2,3];
for(let entry of array) {
if(entry>=2) {
let index = array.indexOf(entry);
/*The array is being re-indexed when I apply
.splice() - the loop will skip over an index
when one element of array is removed*/
array.splice(index, 1);
}
}
console.log(array);
//returns [1,3]
有没有办法使用for...of 循环来实现此功能,还是我必须坚持使用reverse for loop
更新
我需要将不符合 filter() 或 reverse for loop 函数删除的元素的条目收集到辅助数组中。
【问题讨论】:
标签: javascript loops for-of-loop