2013-02-24 54 views
1

即時通訊使用隨機數函數來獲得兩個隨機數在219和1500之間。這如預期的那樣工作,但是像1200和1500之間的數字一樣是發生的可能性降低50%。我怎樣才能做到這一點?使用Javascript來獲得2個數字之間的隨機數,但具體的範圍不太可能

我確實嘗試過首先搜索,但有很多關於隨機數的信息,它很難找到與我的問題相關的任何內容。

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

50%,比_normal_不太可能,或50%,比從數字範圍不太可能210 - 1200? – Alnitak 2013-02-24 10:32:36

回答

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/

+0

使用隨機數字來選擇使用的隨機數字方法...無價!優雅的解決方案,非常感謝! – DelightedD0D 2013-02-24 10:40:18

相關問題