问题描述
我正在我的计算机科学课上编写代码,但我的函数无法正常工作。我重写了我的代码来举个例子:
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);