相关疑难解决方法(0)

使用JavaScript Array.sort()方法进行混洗是否正确?

我用他的JavaScript代码帮助了一个人,我的眼睛被一个看起来像这样的部分抓住了:

function randOrd(){
  return (Math.round(Math.random())-0.5);
}
coords.sort(randOrd);
alert(coords);
Run Code Online (Sandbox Code Playgroud)

我的第一个是:嘿,这不可能奏效!但后来我做了一些实验,发现它确实至少似乎提供了很好的随机结果.

然后我做了一些网络搜索,几乎在顶部发现了一篇文章,这段代码最简单地被复制.看起来像一个相当可敬的网站和作者......

但我的直觉告诉我,这一定是错的.特别是因为ECMA标准没有规定排序算法.我认为不同的排序算法会导致不同的非均匀混洗.一些排序算法甚至可能无限循环...

但你怎么看?

而另一个问题是......现在我将如何衡量这种改组技术的结果是多么随机?

更新:我做了一些测量并将结果发布在下面作为答案之一.

javascript sorting random shuffle

124
推荐指数
6
解决办法
5万
查看次数

生成唯一的数字

到目前为止,我正在尝试制作七个随机数的数组,这是我的代码:

function lotoGenerator() {
        var array = [];
        var i;
    for (i = 0; i <=6; i++) {
        var temp = Math.floor((Math.random() * 39) + 1);
        array.push(temp);
    }    
    console.log(array);
}
lotoGenerator();
Run Code Online (Sandbox Code Playgroud)

现在有了这段代码,我可以得到像这样的结果[30,6,36,8,16,27,6].你可以看到6号出来两次.有没有办法让数组不重复数字.我是javaScript的新手,我无法实现我在网上找到的解决方案.

javascript arrays jquery

0
推荐指数
1
解决办法
1227
查看次数

标签 统计

javascript ×2

arrays ×1

jquery ×1

random ×1

shuffle ×1

sorting ×1