Random integer in a certain range excluding one number

后端 未结 7 2289
广开言路
广开言路 2020-12-03 17:49

I would like get a random number in a range excluding one number (e.g. from 1 to 1000 exclude 577). I searched for a solution, but never solved my issue.

I want some

7条回答
  •  北海茫月
    2020-12-03 18:33

    Generate a random number and if it matches the excluded number then add another random number(-20 to 20)

    var max = 99999, min = 1, exclude = 577;
    var num = Math.floor(Math.random() * (max - min)) + min ;
    while(num == exclude || num > max || num < min ) {
        var rand = Math.random() > .5 ? -20 : 20 ;
        num += Math.floor((Math.random() * (rand));
    }   
    

提交回复
热议问题