如何创建一个包含40个元素的数组,其随机值介于0到39之间?喜欢
[4, 23, 7, 39, 19, 0, 9, 14 ...] 我尝试从这里使用解决方案:
http://freewebdesigntutorials.com/javaScriptTutorials/jsArrayObject/randomizeArrayElements.htm
但是我得到的数组很少是随机的。它会生成很多连续数字的块... 问题来源于stack overflow
这是一种解决方案,它可以打乱唯一编号的列表(永远不会重复)。
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想要的值),请在其他地方查找。:)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。