0

我正在计算机科学课上进行编码,但我的功能无法正常工作。我重写了我的代码来做一个例子:

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.”;
    }
  }
}

我试试这个,它只会返回“未找到”。即使单词匹配。

4

1 回答 1

0

如果您使用的是 JavaScript,我解决了您的问题。:)

您的代码中有一些拼写错误和一些错误。

看,问题是关键字一旦满足条件就会return停止执行循环。在你的情况下,for两者都有关键字,所以你的循环永远不会执行超过一次。ifelsereturnfor

换句话说,if只有当你输入“蓝色”这个词时,你的陈述才会起作用。

如果您要输入单词“red”,它是数组中的第二个元素,您显然会进入else语句,因为变量i将为 0(数组中的又名“blue”)。进入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);
于 2020-12-18T19:25:42.700 回答