私はここにあるこのコードに完全に困惑しています。基本的には、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
}
}
単語は実際には nouns 配列に割り当てられません。そのため、大文字と小文字の「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;
}
}