2015-01-31 72 views
2

我試圖以每次加載網頁時相同的方式可預測地洗牌javascript數組。可預測的Javascript陣列洗牌

我可以隨機混洗數組,但每次我重新加載頁面時,它都是不同的順序。

我希望它每次頁面加載時以相同的方式洗牌陣列。有許多數組,它們是程序生成的世界的一部分。

+1

將其存儲在本地存儲中 – adeneo 2015-01-31 21:03:36

+0

爲其編寫一個不那麼隨機的腳本。 – Mouser 2015-01-31 21:05:25

+0

謝謝adeneo,但用戶可以刪除本地存儲作爲世界選項的一部分。所以我想要一些每次都運行相同的硬代碼。 – Protopop 2015-01-31 21:07:54

回答

2

看看chancejs.com's seed函數。

+0

謝謝比利月亮。 Chance.js完美運作。 var chance1 = new Chance(124); //你可以在這裏選擇種子,我選擇了124 console.log(chance1.shuffle(['alpha','bravo','charlie','delta','echo'])); // Array [「alpha」,「delta」,「echo」,「charlie」,「bravo」] – Protopop 2015-01-31 21:25:11

+0

@Protopop yeah - chance.js非常聰明,對於很多其他的東西也很棒 - 尤其對於重複性測試例如。 – 2015-01-31 21:28:30

3

Chance.js完美運作。謝謝比利月亮。

我的例子:

<script type="text/javascript" src="assets/js/chance.js"></script> 

var chance1 = new Chance(124); // you can choose a seed here, i chose 124 
console.log(chance1.shuffle(['alpha', 'bravo', 'charlie', 'delta', 'echo'])); 
// Array [ "alpha", "delta", "echo", "charlie", "bravo" ] 

只要你設置新的機會(XXX),你每一次的結果相同的種子。

+0

你爲我節省了數小時的研究。正是我需要的:) – Pedro 2015-05-27 21:30:19