For 循环只运行一次,附加条件检查数字是否为偶数

For loop runs only once with an additional condition checking whether the number is even

我的代码是:

var arr = [];
for(var i = 0; (i < 10) && (i % 2 === 0); i++) {
    arr.push(i);
}

所以,为什么 returns arr = [0];而不是 arr = [0,2,4,6,8] ?

因为它在条件评估为假时终止。

它将 运行 添加 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) returns 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);

你的for循环有两个条件,当i等于1时,循环中断

您需要将 i 增加 2

var arr = [];
for (var i = 0; i < 10; i = i + 2) {
  arr.push(i);
}
console.log(arr)