我试图有一个循环,给出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);
}
我是否正确地继续这样做?请你提供一些提示,以便我能解决这个问题。谢谢,
我最初尝试过这个。但是没有用。
for (i = 0; i <= 30; i++) {
if (i == 10) {
i = "Ten";
} if (i == 20) {
i = "Twenty";
}
console.log(i);
}
答案 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++
部分时,您的循环失败。你应该做的是将要打印的值分配给另一个仅在循环体内使用的变量。