我試圖創建此函數,其中函數從數組中隨機選擇一個值,然後將其打印出來並存儲到#kaytetyt。檢查並打印陣列中的所有數字時崩潰
它也會檢查號碼是否已經在#kaytetyt中找到,如果是,那麼它會再次嘗試,直到它找到全新的號碼。
問題是當它達到在這種情況下九個數組長度限制。瀏覽器將崩潰。如何防止這一點?當所有數字都在使用時,它可能會說「所有數字都在使用中」。如果你有一些想法如何改進代碼,請不要共享,謝謝;)
var testi = ["1", "2", "3", "4", "5", "6", "7", "8", "9"];
$(function() {
$("#arvo").click(function() {
var koodi = testi[Math.floor(Math.random() * testi.length)];
if ($('#kaytetyt > pre:contains(' + koodi + ')').length > 0) {
$("#console").append("<pre class='red'>" + koodi + " is used, randoming new one</pre>");
do {
koodi = testi[Math.floor(Math.random() * testi.length)];
} while ($('#kaytetyt > pre:contains(' + koodi + ')').length > 0);
$("#kaytetyt").append("<pre class='new'>" + koodi + "<pre>");
$("#console").append("<pre class='new'>" + koodi + "</pre>");
} else {
$("#console").append("<pre>" + koodi + "</pre>");
$("#kaytetyt").append("<pre>" + koodi + "</pre>");
}
});
});
https://jsfiddle.net/jaakkouu/4et38ktj/10/
您需要檢查您的所有可用號碼是否已被使用。不要看得太緊密,就像:if($('#kaytetyt> pre').length> = testi.length){alert(「all done」); }' –