首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >创建一个具有随机值的数组

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

Stack Overflow用户
提问于 2011-04-30 04:05:06
回答 18查看 203.3K关注 0票数 128

如何创建一个包含40个元素、随机值从0到39的数组?喜欢

代码语言:javascript
复制
[4, 23, 7, 39, 19, 0, 9, 14, ...]

我试着从这里使用解决方案:

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

但是我得到的数组几乎没有随机性。它会生成很多连续数字的块...

EN

回答 18

Stack Overflow用户

发布于 2015-11-21 02:31:02

ES5:

代码语言:javascript
复制
function randomArray(length, max) {
    return Array.apply(null, Array(length)).map(function() {
        return Math.round(Math.random() * max);
    });
}

ES6:

代码语言:javascript
复制
randomArray = (length, max) => [...new Array(length)]
    .map(() => Math.round(Math.random() * max));
票数 50
EN

Stack Overflow用户

发布于 2017-09-24 02:06:36

甚至更短的ES6方法:

代码语言:javascript
复制
Array(40).fill().map(() => Math.round(Math.random() * 40))

此外,您还可以有一个带参数的函数:

代码语言:javascript
复制
const randomArray = (length, max) => 
  Array(length).fill().map(() => Math.round(Math.random() * max))
票数 40
EN

Stack Overflow用户

发布于 2018-12-20 06:23:07

最短:-)

[...Array(40)].map(e=>~~(Math.random()*40))

票数 37
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5836833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档