2015-01-31 49 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