如何创建一个包含40个元素的数组,其随机值介于0到39之间?喜欢
[4, 23, 7, 39, 19, 0, 9, 14, ...]
我尝试从这里使用解决方案:
http://freewebdesigntutorials.com/javaScriptTutorials/jsArrayObject/randomizeArrayElements.htm
但是我得到的数组很少是随机的。它会生成很多连续数字的块...
这是一种解决方案,它可以洗净唯一编号的列表(永远不会重复)。
for (var a=[],i=0;i<40;++i) a[i]=i;
// http://stackoverflow.com/questions/962802#962890
function shuffle(array) {
var tmp, current, top = array.length;
if(top) while(--top) {
current = Math.floor(Math.random() * (top + 1));
tmp = array[current];
array[current] = array[top];
array[top] = tmp;
}
return array;
}
a = shuffle(a);
如果要允许重复的值(这不是OP想要的值),请在别处查找。:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句