如何在循环中继续使用以更改值

时间:2017-02-06 03:12:13

标签: javascript loops if-statement continue

我试图有一个循环,给出1到30之间的值。但是,每个可被10整除的数字我想要将值硬编码到相应的单词。例子是值10 =“十”,20 =“二十”等等。

我尝试使用'continue'执行此操作,但是我显示的结果不会通过“Ten”。

    for (i = 0; i <= 30; i++) {
        if (i == 10) {
            i = "Ten";
            continue;
        } if (i == 20) {
            i = "Twenty";
            continue;
        }
        console.log(i);
    }

Results

我是否正确地继续这样做?请你提供一些提示,以便我能解决这个问题。谢谢,

我最初尝试过这个。但是没有用。

   for (i = 0; i <= 30; i++) {
      if (i == 10) {
        i = "Ten";       
      } if (i == 20) {
        i = "Twenty"; 
      }
   console.log(i);
   }

3 个答案:

答案 0 :(得分:1)

摆脱continue陈述。它们使循环立即跳到最后并开始另一次迭代。因此,将跳过您的控制台输出语句。此外,您不想触摸循环变量,拥有else也不会有什么坏处。像这样:

var result;
for (i = 0; i <= 30; i++) {
    if (i == 10) {
        result = "Ten";
    } else if (i == 20) {
        result = "Twenty";
    } else {
        result = i;
    }
    console.log(result);
}

或者您可以直接在if / else链的每个分支中记录所需的输出:

for (i = 0; i <= 30; i++) {
    if (i == 10) {
        console.log("Ten");
    } else if (i == 20) {
        console.log("Twenty");
    } else {
        console.log(i);
    }
}

答案 1 :(得分:0)

我不认为你可以改变我并期望它像往常一样工作。因此,只要将值更改为“TEN”,循环就会终止.. !!!!

答案 2 :(得分:0)

当计数器i变为10时,您将用字符串替换它,因此当控制流到达i++部分时,您的循环失败。你应该做的是将要打印的值分配给另一个仅在循环体内使用的变量。