我的代码是:For循环与一个附加条件检查的数量是否甚至只运行一次
var arr = [];
for(var i = 0; (i < 10) && (i % 2 === 0); i++) {
arr.push(i);
}
这样,为什么它返回ARR = [0];而不是arr = [0,2,4,6,8]?
我的代码是:For循环与一个附加条件检查的数量是否甚至只运行一次
var arr = [];
for(var i = 0; (i < 10) && (i % 2 === 0); i++) {
arr.push(i);
}
这样,为什么它返回ARR = [0];而不是arr = [0,2,4,6,8]?
因为它终止条件评估为false的时刻。
它会运行一次加0再检查条件并终止自0%2 === 0
这是一个修复:
var arr = [];
for(var i = 0; i < 10; i += 2) {
arr.push(i);
}
console.log(arr);
这是因为当i
等于1
,(i<10) && (i%2 === 0)
返回false并且for
循环停止。
只需在for
循环中设置i%2 === 0
检查即可使其工作。
var arr = [];
for(var i = 0; i < 10; i++) {
if (i % 2 === 0) {
arr.push(i);
}
}
console.log(arr);
您的循环有两个条件下,当i
等于1,循环中断
您需要通过2
var arr = [];
for (var i = 0; i < 10; i = i + 2) {
arr.push(i);
}
console.log(arr)
i
我完全忽略了这个循环会在条件为假之后断开......谢谢 –