javascript 如何生成不重复的随机数

JavaScript031

javascript 如何生成不重复的随机数,第1张

Math.random() 函数返回一个浮点,  伪随机数在范围[0,1)

得到两数之间的随机数:

function getRandomArbitrary(min, max) {

  return Math.random() * (max - min) + min} 得到一个两数之间的随机整数,包括两个数在内:

function getRandomIntInclusive(min, max) {

  min = Math.ceil(min)

  max = Math.floor(max)

  return Math.floor(Math.random() * (max - min + 1)) + min

function bgcolor(){

var items = $('.listitems')

var arand = 5

items.each(function () {  

var rand = getRandom(arand)

$(this).addClass("sbg" + rand)

arand = rand

})  

}

function getRandom(arand) {

var rand = parseInt(4*Math.random())

if (rand == arand) {

return getRandom(arand)

} else {

return rand

}

}

bgcolor()

记得给分!!!

var arr=[]

function rec(r,i){

    for(var j=0j<ij++){

        if(r==arr[j]){

            r=Math.floor(Math.random()*(200-20+1)+20)

            rec(r,i)

            break

        }

    }

    if(j==i){

        arr.push(r)

    }

}

function random(){

for(var i=0i<10i++){

    var r=Math.floor(Math.random()*(200-20+1)+20)

    i==0&&arr.push(r)

    if(i>0){

        rec(r,i)

    }    

}

console.log(arr)

}

random()

运用了递归排除重复的可能,10个数重复的可能性很小,你可以生成更多数测试,是不会出现重复数字的

生成的10个随机数

生成的30个随机数