对于Javascript,我是初学者。我不确定在哪里提出适当的问题,因为我现在一直在跟踪Stack Overflow一段时间,这可能是最终创建帐户并在此处开始我的个人资料的最佳时机。我正在阅读的这本书并没有任何形式的帮助论坛。
无论如何,我正在阅读一本与JS练习相关的书,我想尝试结合包含嵌套 if..else语句的 while-loops 的原则。我的代码如下:
var teams = ["Chiefs", "Bees", "Tigers", "Bears"];
var i = 0;
while (i < teams.length) {
if (teams[i] === "Lions") {
alert(teams[i] + " is at Index " + i + " in the array");
break;
} else {
alert("Query not found!");
break;
}
i++;
}
练习只是假设使用的概念而和 if 但显然我对编程的好奇心我想添加 else 声明,但我无法让代码工作。我让代码正常工作的唯一实例是没有 else 语句。
我的主要目标/好奇心是我希望它提醒“查询未找到!”当if语句在数组中找不到字符串时,在这种情况下我写了“Lions”。
提前感谢您的帮助!
答案 0 :(得分:0)
你需要删除'break;'来自else循环。当它没有找到“Tigers”时,那个中断将在第一次迭代时(当我为0时)终止你的while循环。
break适用于循环结构,而不是if / elses。我猜你认为它会破坏/结束else块,但它实际上是打破了while循环。
答案 1 :(得分:0)
不需要休息,但你仍然可以在if
中留下一个休息时间来结束循环:
var teams = ["Chiefs", "Bees", "Tigers", "Bears"];
var i = 0;
while (i < teams.length) {
if (teams[i] === "Tigers") {
alert(teams[i] + " is at Index " + i + " in the array");
// can still put a break here to stop looping if you want.
} else {
if (i === teams.length - 1) {
alert("Query not found!");
}
}
i++;
}
答案 2 :(得分:0)
您可以在找到时确定是否找到了某些内容。但是,当你看到所有东西时,你只能决定找不到的东西,这应该在循环之外。
var teams = ["Chiefs", "Bees", "Tigers", "Bears"];
var i = 0, position = null;
while (i < teams.length) {
if (teams[i] === "Lions") {
position = i;
break;
}
i++;
}
if (position !== null) {
alert(teams[position] + " is at Index " + position + " in the array");
} else {
alert("Query not found!");
}