2017-04-25 27 views
0

[i]answerArray[i]の中に何を意味するのかわかりません/誰かがそれが何を説明することができれば、それは多くを意味するでしょう。このコードは、「子供のためのJavaScript」本から来て、私はここだ、ここでここでJS for Hangmanのゲーム

var words = [ 
"money", 
"pillow", 
"maracas" 
]; 

var word = words[Math.floor(Math.random() * words.length)]; 

var answerArray = []; 

for (var i = 0; i < word.length; i++) { 
*answerArray[i] = "_";* 
} 

var remainingLetters = word.length; 

while (remainingLetters > 0) { 
alert(answerArray.join(" ")); 
var guess = prompt("Guess a letter, or click cancel to stop playing."); 
if (guess === null) { 
break; 
} else if (guess.length !== 1) { 
alert("Please enter a single letter."); 
} else { 

そして

*for (var j = 0; j < word.length; j++) { 
if (word[j] === guess) { 
answerArray[j] = guess;* 
remainingLetters--; 
} 
} 
} 
} 

alert(answerArray.join(" ")); 
alert("Good job! The answer was " + word); 
+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Arrayを参照してください。 – j08691

+0

インデックスで配列アイテムを参照しています。たとえば、 'var fruits = ['Apples'、 'Bananas'、 'Oranges']'のような配列を持っていて、 'var myFruit = fruits [1]'を行うと、それは "Bananas"に設定されます。 (配列は0インデックスであるため、0が最初のアイテムです。以下同様です)。ループを実行すると、毎回 'i'が増えていきます。つまり、' array [i] 'は配列内のすべての項目を1つずつループしています。配列に関する基本的な研究を行うことを検討してください。プログラミング言語はほぼすべてのプログラミング言語に共通する基本的なプログラミング知識なので、たくさんのドキュメントがあります(リソース@ j08691のように)。 – Santi

答えて

0

をコーディングするだけで、あらゆる種類の使用を開始しようとしています例

https://www.w3schools.com/js/tryit.asp?filename=tryjs_loop_for_ex

for (i = 0; i < 5; i++)を書くときに、iまたはjの文字またはその文字をそのままそのスロットに入れたものは、現在のitterationを表します。これはfor loopと呼ばれるもので、もしあなたがちょうどjavascriptを使い始めているなら、あなたはそれを間違いなく知るべきです。

文字は、要するに、ループの現在の繰り返しを表します。

for (i = 0; i < 5; i++) { } 

このループは、最初にi = 0となります。変数 "i"は0です。次にi < 5と表示されます。この部分は "テスト"です。テストに合格すると、ループが再び実行されます。その後、それはi++と言います。これはループが実行された後の後にが起こる何かです。この例では、iは1で増加します。

{ }は5回発生し、文字「i」は「現在のループ」を表す値が増加します。

私はリンクのデモでは、あなたが文「の数がXである」と見るが昇順で表示され、0

で始まるループは、基本的に「私が5未満ですが、これを行う」を意味し、 iはループごとに値が増加し、()内部のテストが再実行されます。

アレイでは、各スロットは数字で表されます。 MyArray[1]は、配列の2番目の項目を参照します。 var myArray = ["fi", "fa", "fo"]のような配列を持つ場合は、console.log[2]と記述して3番目の項目を印刷することができます。

このような知識を組み合わせましょう!

var myArray = ["fi", "fa", "fo"]; 

for (i = 0; i < 3; i++) { 
    alert(myArray[i]); 
} 

ザ・forループは3回実行され、それが実行されるたびに、iは大きな価値があります。これにより、配列内のすべての項目を参照できます。より良いループを書くにはfor(var i = 0; i < myArray.length; i++となるでしょう。これは配列のサイズにiを比較するので、配列は任意のサイズにすることができます

0

1答え配列は最初は空ですarray = [];

2>次にwords[Math.floor(Math.random() * words.length)]これはwords配列から ランダムな文字列を返します。

3>次に、forループだけ回答アレイに挿入され 選択ワードと_と同じ回数に存在する文字の数をカウントしている

4>次に、ちょうどすべて下線を接合します。このと単一のstring(スペース内に)を作成します。

例えば - >単語 "は" その後、

を選択するには、(スペースで参加)アレイ= ['_','_','_','_','_','_']

その後、answerArray = "_ _ _ _ _ _"に答えます。

ありがとうございました。