如何解决为什么我的 if 语句中的 else 没有返回正确的输出?
我正在我的计算机科学课上编写代码,但我的函数无法正常工作。我重写了我的代码来举个例子:
function getWords(userWord) {
var returnList = [];
var wordList = [blue,red,purple];
for (var i = 0; i < wordList.length; i++) {
if (userWorld == wordList[i]) {
appendItem(returnList,wordList[i]);
return returnList[];
} else {
return “Not Found.”;
}
}
}
我尝试了这个,它只会返回“未找到”。即使单词匹配。
解决方法
如果您使用的是 JavaScript,我解决了您的问题。 :)
您的代码中有一些拼写错误和一些错误。
看,问题在于,一旦满足条件,return
关键字就会停止执行您的 for
循环。在您的情况下,if
和 else
都包含 return
关键字,因此您的 for
循环永远不会执行超过一次。
换句话说,您的 if
语句只有在您输入“蓝色”一词时才有效。
如果您将单词“red”放入数组中,它是数组中的第二个元素,您显然会进入 else
语句,因为变量 i
将为 0(在你的数组)。通过进入 else
,它将返回“未找到”。它会完全停止 for 循环。
希望你现在明白:)
无论如何,这是您的解决方案朋友,如果它有效,或者您有任何疑问,请告诉我:
let word = 'purple';
function getWords(userWord) {
var returnList = [];
var wordList = ['blue','red','purple'];
let boolCheck = false;
for (var i = 0; i < wordList.length; i++) {
if(userWord == wordList[i]){
boolCheck = true;
returnList.push(wordList[i]);
}
}
if(boolCheck){
return returnList;
}
else{
return "Not found.";
}
}
let wordGet = getWords(word);
console.log(wordGet);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。