1
我想繪製兩個或多個數組的值。例如包含值1-99的數組「年齡」和包含2000-10000的第二數組「收入」。 如果我將繪製超過30歲的「年齡」,我想從第二個數組中獲得價值,但是我得到超過5000的概率必須是例如超過75%。 如何讓它成爲可能?從JS中獲取聲明概率的數組獲取內容
我想繪製兩個或多個數組的值。例如包含值1-99的數組「年齡」和包含2000-10000的第二數組「收入」。 如果我將繪製超過30歲的「年齡」,我想從第二個數組中獲得價值,但是我得到超過5000的概率必須是例如超過75%。 如何讓它成爲可能?從JS中獲取聲明概率的數組獲取內容
您可以使用支票年齡和兩個公式來計算收入的價值,而不用跨步。
condition random range formula min max --------- ------------- ---------------- ----- ----- <= 5000 0.00 ... 0.25 r * 12000 + 2000 2000 5000 > 5000 0.25 ... 1.00 r * 6666 + 3333 5000 10000
實例與數100000倍隨機的收益,與age > 30
function getRandomEarnings(age) {
var r = Math.random();
if (age > 30) {
return r < .25 ? r * 12000 + 2000 : r * 6666.666666 + 3333.333333;
} else {
// add some more random values
}
}
var count = [0, 0],
i;
for (i = 0; i < 1e6; i++) {
count[+(getRandomEarnings(35) > 5000)]++;
}
console.log(count);
.as-console-wrapper { max-height: 100% !important; top: 0; }
你是問如何在Javascript數組訪問隨機元素?看到這裏:https://stackoverflow.com/questions/5915096/get-random-item-from-javascript-array –
很容易,隨機從0到1,如果它低於0.25選擇從2000到5000,如果不是選擇從5000到10000 – juvian
但我不希望只有5000-10000,當年齡超過30歲時。我也想要較低的值,但獲得較低數字的可能性較低:D –