基于百分比

时间:2015-06-10 23:05:21

标签: javascript

我一直试图找到一种方法来实现这一目标,但我遇到了一堵墙,我想我会问这里。

以下是一个例子:

假设我有两个物体,食物和水,它们有不同的“机会”值。一个人有20%的几率,一个人有40%的几率。考虑到这个百分比,我怎样才能在数学上增加它们的总数?

var food = {
    name:'food',
    total:0,
    chance:0.2
};
var water = {
    name:'water',
    total:0,
    chance:0.4
};

这是我到目前为止所做的,但这不是基于百分比的。寻找改善它的方法。

function test() {
    var x = parseFloat(Math.random().toFixed(1));

    if(x == food.chance) {
        food.total += 1;
    }
    if(x == water.chance) {
        water.total += 1;
    }
}

2 个答案:

答案 0 :(得分:0)

你需要这样的东西:

if ( (x >= 0.0) && (x < food.chance) ) food.total++;
else if ( (x >= food.chance) && (x < (food.chance+water.chance)) water.total++;

答案 1 :(得分:0)

关闭。

function test() {
     var x = parseFloat(Math.random().toFixed(1));

    if(x < food.chance) {
        food.total += 1;
    }
    else if(x < food.chance + water.chance) {
        water.total += 1;
    }
}

两个注释:

  • 在连续概率中,你几乎从不检查某些随机输出等于某事;只是它介于某些事物之间。几乎按照定义,前者为0。

  • 这仍然有40%没有发生,FYI。