我想从两个或多个数组中绘制值。例如,数组'age'包含值1-99,第二个数组'income'包含2000-10000。 如果我将绘制超过30岁的'年龄',我想从第二阵列获得价值,但是我获得超过5000的概率必须是例如超过75%。 如何使它成为可能?
答案 0 :(得分:0)
您可以使用年龄检查和两个计算收入值的公式,而无需步进。
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);
&#13;
.as-console-wrapper { max-height: 100% !important; top: 0; }
&#13;