【发布时间】:2015-09-12 15:12:19
【问题描述】:
如果您注意到从索引 0 开始并向上计数的 for 循环的结果并没有从数组中取出数字 23。
使用 JavaScript 循环遍历 evenArray 删除所有非偶数的值
var evenArray = [1,2,3,6,22,98,45,23,22,12];
for (var i = evenArray.length - 1; i >= 0; i--) {
if(evenArray[i] % 2 != 0){
evenArray.splice(i, 1);
}
};
console.log(evenArray);
//输出到this将是2,6,22,98,22,12;
var evenArray = [1,2,3,6,22,98,45,23,22,12];
for (var i = 0; i < evenArray.length; i++) {
if(evenArray[i] % 2 != 0){
evenArray.splice(i, 1);
}
};
console.log(evenArray);
//输出为[2, 6, 22, 98, 23, 22, 12];
【问题讨论】:
-
调试一下就知道了。遍历每个 for 循环,每次拼接后暂停。你会看到发生了什么。
-
太棒了!好主意啊。我需要习惯使用调试器来剖析我的代码。
标签: javascript arrays loops for-loop