2016-11-11 79 views
1

我做了一個幻燈片,其中顯示了一個隨機的口號,但是當我檢查控制檯時,一些口號甚至會重複兩次甚至三次。這正是我想要避免的,但是我怎樣才能將它應用到我的代碼中。避免重複數學隨機

setInterval("insertText()", 9000); 
 

 
    function insertText() { 
 
     var i = Math.floor(slogan.length * Math.random()); 
 
     var text = document.getElementById("textinsidebox"); 
 
     var sloganInfo = "<img src=" + slogan[i].image + " id='img_slogan'>" + "<br>" + slogan[i].text + "<br>" + slogan[i].person; 
 
     text.innerHTML = sloganInfo; 
 
    }

+0

你將不得不從數組中刪除打印口號 – Rajesh

+1

http://stackoverflow.com/questions/6625551/math-random-number-without-repeating-a-previous-number –

+0

你在控制檯中檢查了什麼?那裏沒有印刷品。當你用完口號時,你希望發生什麼? –

回答

0

您可以使用功能的自身屬性來存儲的最後一個值。

function insertText() { 
 
    var i; 
 
    do { 
 
     i = Math.floor(array.length * Math.random()); 
 
    } while (i === insertText.i); 
 
    console.log(insertText.i, i); 
 
    insertText.i = i; 
 
} 
 

 
var array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; 
 
setInterval(insertText, 500);
.as-console-wrapper { max-height: 100% !important; top: 0; }

+0

只打印一張 –

+0

你可以做[小提琴](https://jsfiddle.net/)嗎? –

+0

檢查console.log;) –