JavaScript:选择百分比数字

JavaScript:选择百分比数字,javascript,html,css,Javascript,Html,Css,所以我遇到了一个问题,那就是根据百分比选择一个获胜者 现在,对于这个方法,我选择一个介于1到0之间的随机小数点。示例:[.55或.33] 当我生成这个数字时,百分比是根据随机小数点选取的 例如: 计算的数字如下: 用户1的机会>25%。 用户2的机会>75% 因此,我试图找出如何根据创建的十进制数选择用户 我这里有一些JavaScript代码,我不知道其他的,我愿意接受任何可能的帮助 <!DOCTYPE html> <html> <head> <scri

所以我遇到了一个问题,那就是根据百分比选择一个获胜者

现在,对于这个方法,我选择一个介于1到0之间的随机小数点。示例:[.55或.33] 当我生成这个数字时,百分比是根据随机小数点选取的

例如:

计算的数字如下: 用户1的机会>25%。 用户2的机会>75%

因此,我试图找出如何根据创建的十进制数选择用户

我这里有一些JavaScript代码,我不知道其他的,我愿意接受任何可能的帮助

<!DOCTYPE html>
<html>
<head>
<script>
function nowGet(){
    var picked = Math.random() * (1 - 0) + 0;
    var numb1 = .25;
    var numb2 = .75;

    if(numb1 >= picked && picked <= numb1){
        alert("25% chance wins with win %: " + picked);
    }else if(numb2 >= picked && picked <= numb2){
        alert("75% chance wins with win %: " + picked);
    }else{
        alert("Nothing was picked. win %: " + picked);
    }
}

</script>
</head>

<body>

<h1>My Web Page</h1>

<p id="demo">A Paragraph</p>

<button type="button" onclick="nowGet()">Try it</button>

</body>
</html>

函数nowGet(){
var picked=Math.random()*(1-0)+0;
var numb1=0.25;
var numb2=0.75;

如果(numb1>=picked&&picked=picked&&picked您试图实现的是从一个数字数组中获取最接近的数字。下面是对您的问题的一个很好的回答:

根据您的具体场景,这里有一个解决方案:

function closest (num, arr) {
    var curr = arr[0];
    var diff = Math.abs (num - curr);
    for (var val = 0; val < arr.length; val++) {
        var newdiff = Math.abs (num - arr[val]);
        if (newdiff < diff) {
            diff = newdiff;
            curr = arr[val];
        }
    }
    return curr;
}

var array = [.25, .75];
var number = Math.random();
var winner = closest(number, array);
console.log(winner);
函数最近(num,arr){
var curr=arr[0];
var diff=Math.abs(num-curr);
对于(var-val=0;val