开发者社区> 问答> 正文

创建一个具有随机值的数组

如何创建一个包含40个元素的数组,其随机值介于0到39之间?喜欢

[4, 23, 7, 39, 19, 0, 9, 14 ...] 我尝试从这里使用解决方案:

http://freewebdesigntutorials.com/javaScriptTutorials/jsArrayObject/randomizeArrayElements.htm

但是我得到的数组很少是随机的。它会生成很多连续数字的块... 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 14:39:45 480 0
1 条回答
写回答
取消 提交回答
  • 这是一种解决方案,它可以打乱唯一编号的列表(永远不会重复)。

    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想要的值),请在其他地方查找。:)

    2020-02-08 14:39:57
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载