-1
我似乎無法得到這個重複,只要過去和當前是相同的(這是一個新的報價生成器)。JS遞歸函數問題
function random() { // random number 0-9
var number = Math.floor(Math.random() * 9);
return number;
}
var past = [0]; // array of past quotes
function writer() { // on button click for new random quote
var current = random();
past.push(current);
function checker() {
if (past[past.length - 2] === past[past.length - 1]) {
current = random();
checker();
}
}
checker();
}
對你的'隨機'函數的評論是錯誤的,它返回0..8。無論如何,這種暴力方法有什麼原因嗎?用一個可能的答案填充一個數組可能更容易,隨機選擇一個數組,然後將其從數組中移除以用於下一次迭代。 – usr2564301
感謝隨機()捕獲,雖然這肯定會起作用,但我也很好奇我做錯了什麼。除此之外,沒有任何真正的理由讓暴力行爲成爲我喜歡的方式。 –
啊 - 你正在改變'current',但是這不會改變你的數組中的值。 'past.push(current)'這行會立即推送*值*,然後忘記它來自哪裏。因此,改變'current'後不會自動改變其上一次推送的值。 – usr2564301