有没有办法根据百分比提取值?
取值概率:
差:1%
正常:29%
好:70%
var move ["bad","normal","good"];
一个简单的条件语句:
if (move == "bad") {
bad_move = "That's a bad move!";
} else if (move == "normal") {
normal_move = "Classic move!";
} else {
good_move = "Amazing move!";
}
那么对于这种问题,PHP 比 Javascript 好吗?
最佳答案
您可以编写一个函数,以给定的概率百分比对值进行采样:
function weightedSample(pairs) {
const n = Math.random() * 100;
const match = pairs.find(({value, probability}) => n <= probability);
return match ? match.value : last(pairs).value;
}
function last(array) {
return array[array.length - 1];
}
const result = weightedSample([
{value: 'Bad', probability: 1},
{value: 'Normal', probability: 29},
{value: 'Good', probability: 70}
]);
console.log(result);
我不能说 PHP 是否会更好。这种问题在 PHP 中不应该更难/更难。您应该使用哪种(JS 或 PHP)实际上取决于函数是应该在服务器还是客户端上运行。
关于javascript - 基于百分比的值概率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43190674/