为什么for循环未运行?

时间:2019-06-13 21:41:15

标签: javascript loops for-loop

我应该创建一个函数,该函数将继续使第一个参数加倍,直到它大于或等于第二个参数。每次翻倍,我都会在计数器上加20。

但是,由于某种原因,它似乎并没有在计数器上加20,因为它总是返回0并且不会打印出我为每个循环包含的console.log,这使我认为它没有在运行循环。

为什么它没有运行循环,我在做什么错了?

function bacteriaTime(currentNum, targetNum) {
  let counter = 0
  for (let i = currentNum; i >= targetNum; i *= 2) {
    counter += 20;
    console.log('bacteria count is ' + i + ' and ' + counter + ' have passed.')
  }
  return counter;
  console.log(counter);
}

2 个答案:

答案 0 :(得分:1)

您可能想检查您的条件是否尚未满足,因此,代码已返回。另外,您的情况也很落后。应该是:for (let i = currentNum; i <= targetNum; i *= 2) {

答案 1 :(得分:0)

似乎您混淆了比较。在for循环中,您有i >= targetNum,而您输入的内容几乎总是false。只需将操作员切换为<=,如下所示,您应该会很好。这将意味着i小于targetNum

function bacteriaTime (currentNum,targetNum){
    let counter = 0
    for (let i = currentNum; i <= targetNum; i *= 2){
        counter += 20;
        console.log ('bacteria count is ' + i + ' and ' + counter+ ' have passed.')
        }
    console.log(counter);
    return counter;
}

希望有效。可能只是一个简单的混淆。