有没有办法根据百分比提取值?
价值概率:
差: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)实际上取决于该功能是否应该在服务器或客户端上运行.