可以在没有初始化程序的情况下使用循环中的条件吗?

Can a condition in a loop be used without an initializer?

作为 forwhile 循环中的条件,您可以使用不带“i”的语句吗?

例如:

for (let i = 0 ; myArray.length =< 7; i++)

我希望循环 运行 直到满足我的条件,但不确定是否可以在不包含“i”的情况下实现。

尝试

while (myArray.length <= 7) {

}

<=,而不是=<

在这种情况下你应该使用while循环

while (condition)
  statement

但您也可以使用 for...offorEach 以及相同的 for循环如下:

您可以使用for...of

const iterable = 'boo';

for (const value of iterable) {
  if(mycondition){
   console.log(value);
  }
}

你也可以使用forEach

const items = ['item1', 'item2', 'item3']
const copyItems = []
items.forEach(function(item){
  if(mycondition){
   copyItems.push(item)
  }
})

for

for ([initialization]; [condition]; [final-expression])
   statement

for (;;)是一个无限循环,相当于while(true),因为没有测试条件。

for ( ; s < myArray.length ; s++) 是一个没有初始化的循环。 s 将指向开头并递增直到结尾。

如果您有 condition 但不需要 iterator,通常使用 while loop:

while (myArray.length < 8) {

  [... CODE HERE ...]
}

进一步阅读:

for ( initiaizer; condition; increment) {
    body
}

等同于:

initializer 
while (condition) {
    body
    increment
}

并且您可以在每一个中遵循相同的规则。意思是初始化器和增量实际上是可选的(for (; false; ) {} 是有效的)。创建和递增一个名为 i 的变量只是一个有用的约定,没有特殊含义。

For 循环的发明是为了简化 while 循环,在您想要基本上从一个数字计数到另一个数字的常见情况下。如果您不这样做,while 循环可能会更好。