×

分享下javascript里去重随机数的处理方法

作者:ceshi2020.05.15来源:Web前端之家浏览:5889评论:0

分享下javascript里去重随机数的处理方法。

我们可以用Math.random()的方法轻松的生成 一个随机的数字,但是这个数字可能是重复的。有时候,我们需要一个不重复的随机数,可以用很多的方法来实现这个要求,以下方法是效率最高的。

分析

不重复的随机数往往是规定范围的,我们先声明一个在这个范围之内的数组,然后用sort方法对数组进行排序。而排序的方法里使用一个随机数,这个随机数使这个排序方法是不确定的。因此可以得到一个不重复的随机数组。

DEMO

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>随机不重复 - Web前端之家https://jiangweishan.com/</title>
<script type="text/javascript">
    var count = 10;
    //原始数组
    var original = new Array; 
    //给原始数组original赋值
    for (var i = 0; i < count; i++) {
        original[i] = i + 1;
    }

    var d1 = new Date().getTime();
    //排序
    original.sort(function() {
        return 0.5 - Math.random();
    });
    //输出
    for (var i = 0; i < count; i++) {
        document.write(original[i] + " , ");
    }
    var d2 = new Date().getTime();
    document.write("<br />运算耗时" + (d2 - d1));
</script>
</head>
<body>
</body>
</html>

大家可以预览看下效果。


您的支持是我们创作的动力!
温馨提示:本文作者系 ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://jiangweishan.com/article/js8eorujlskjdfkluwoeiru.html

网友评论文明上网理性发言 已有0人参与

发表评论: