使用Javascript获取2个数字之间的随机数,但特定范围不太可能

时间:2013-02-24 10:21:09

标签: javascript math random

我使用随机数函数来获得219和1500之间的两个随机数。这可以按预期工作,但是对于1200到1500之间的数字,ID可能会降低50%。我怎样才能做到这一点?

我确实先尝试过搜索,但有很多关于随机数的信息很难找到与我的问题相关的内容。

 function getRandomBase (min, max) {


    orBase = Math.floor(Math.random() * (max - min + 1)) + min; 
    document.getElementById("box1").value = orBase;

    newBase = Math.floor(Math.random() * (max - min + 1)) + min; 
    document.getElementById("box3").value = newBase;


}

Demo

1 个答案:

答案 0 :(得分:3)

我会尝试这样的事情:

function number() {
    var isLower = (Math.random() * 3) < 2;
    if(isLower) {
        return randomNumber(219,1199);
    } else {
        return randomNumber(1200,1500);
    }
}

function randomNumber(min,max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

更新了小提琴:http://jsfiddle.net/pH3ZW/1/