【发布时间】:2016-02-05 03:54:10
【问题描述】:
假设我有一个 JavaScript 数组:
var my_arr = [1,2,3,4,5,6];
洗牌的方法有很多,比如我已经有一个函数shuffle,像这样:
shuffle(my_arr);
// The array might be like [1,5,4,3,2,6];
但是当我再次运行它时,顺序就变了。我想知道随机播放是否可以固定为给定值(数字,字符串,甚至任何东西)。如果密钥是相同的密钥,我需要每次结果都相同。例如:
var my_arr = [1,2,3,4,5,6];
function shuffle_by_key(arr, key){....}
var new_arr1 = shuffle_by_key(my_arr, 1);
var new_arr2 = shuffle_by_key(my_arr, 2);
var new_arr3 = shuffle_by_key(my_arr, 1);
new_arr1 应该与new_arr3 相同,因为它们是由相同的键“1”生成的。
【问题讨论】:
-
@Thilo 机会很酷,但我太重了,只是想知道为什么它甚至在打包的源文件中包含一些国家/人名。 chancejs.com/chance.min.js
-
好吧,您所需要的只是一个可播种的随机数生成器和一个利用它的随机播放方法。 stackoverflow.com/questions/424292/…
-
谢谢,为我提供了很好的信息。
标签: javascript arrays algorithm