このフィドルhttp://jsfiddle.net/5L8Q8/28/では、黒いボタンをクリックすると、配列から2つの値(赤または青)のいずれかをランダムに選択します。ランダムに選択された値はran
に割り当てられます。私の実際の生活のアプリケーションでは、その配列に16の要素があります。JavaScript:この問題を解決するには再帰関数が必要ですか?
ピンクの「再生」ボタンの場合は、同じ配列からランダムな要素を選択しますが、最後に選択したものと同じでないことを確認します。
playagain
をクリックするとran
がlastran
に割り当てられ、次にランダムに選択された値と比較され、同じ場合はランダムに選択されます。しかし、私が持っている方法は、(playagain
の完了時に)ran
が異なることを保証するものではありません。
コメント2が下のコードにある再帰関数が必要だと思いますが、作成しようとするとコードが壊れてしまいます。
以下のコードの3つのコメントにコメントできますか?
注意、あなたが代わり場合のwhileループを使用することができます...
$("#playagain").click(function(){
lastran = ran;
ran = getRandom(myArray, true);
if (ran === lastran) {
ran = getRandom(myArray, true); //1. do I need to return this?
//2. want to test ran === lastran again.. How to set up recursive function?
} else {
return; //3.is this the right thing to do here?
}
});
は、誰もが相対的な初心者です、そうでないと思っても、それらの人々を心配しないでください。 – davin