我完全被这里的这段代码难住了。基本上,我试图通过一个 Word 对象数组,并使用 switch 语句根据单词类型组织它们。这都是由 jQuery 等待按下按钮触发的。
for (var i=0; i<wordList.length; i++)
{
switch (wordList[i].type) {
case "1": nouns.push(wordList[i].word); break;
//"1" is the type flag for noun, the "word" property is the string containing the word
... //Rest of word types
}
}
这个词实际上不会被分配给名词数组。因此,我将 case “1” 行更改为:
case "1": nouns.push(wordList[i].word); asdf = nouns; asdf2 = wordList[i].word; break;
如果没有 var,asdf 和 asdf2 就变成了隐式全局的,所以我可以在控制台中使用它们:
asdf
asdf2
分别返回 [] 和 "I",所以它可以拾取单词,但它没有将它添加到数组中。
asdf.push(asdf2)
返回 1,下一个 asdf 日志给了我 ["I"]。
这里有什么问题?
编辑:完整的相关代码
//Declare arrays
var articles=[], properNouns=[], nouns=[], pluralNouns=[], adjectives=[], conjunctions=[], verbs=[], pluralVerbs=[], adverbs=[], prepositions=[], interrogatives=[];
//Sort words into proper arrays
for (var i=0; i<wordList.length; i++)
{
switch (wordList[i].type) {
case "1": nouns.push(wordList[i].word); asdf = nouns; asdf2 = wordList[i].word; break;
case "11": pluralNouns.push(wordList[i].word); break;
case "12": properNouns.push(wordList[i].word); break;
case "2": verbs.push(wordList[i].word); break;
case "21": pluralVerbs.push(wordList[i].word); break;
case "3": adjectives.push(wordList[i].word); break;
case "4": adverbs.push(wordList[i].word); break;
case "5": conjunctions.push(wordList[i].word); break;
case "6": prepositions.push(wordList[i].word); break;
case "7": interrogatives.push(wordList[i].word); break;
case "8": articles.push(wordList[i].word); break;
default: console.log("Error, could not sort "+wordList[i].word); break;
}
}