在给定数组中创建唯一的随机整数

时间:2017-07-28 17:31:02

标签: javascript jquery

<div id='passarr'>1572 4528 3564 8921 4521</div>

我需要创建一个新的随机整数(4位数),就上述内容而言是唯一的。

JS

var content = $('#passarr').text();
var passarr = content.split(' ');
var pass = Math.floor(Math.random() * 9000) + 1000;
var i = 0;
while (i == 0) {
    if (jQuery.inArray(pass, passarr) > -1) {
        var pass = Math.floor(Math.random() * 9000) + 1000;
        i = 1;
    }
}

似乎有效,但不确定这是正确和最短的方式 有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您的代码是要走的路。但是,您可以消除一些较小的错误(一个不必要的i和非工作代码,<0.00001%):

var content = $('#passarr').text();
var passarr = content.split(' ');
do {
  var pass = Math.floor(Math.random() * 9000) + 1000;
} while (jQuery.inArray(pass, passarr) > -1);

console.log(pass);