繁体   English   中英

数组的分布概率 - Javascript

[英]Distributed probability of an array - Javascript

给定这个数组

{"easy"=>85%, "medium"=>10%, "hard"=>3%, "very hard"=>2%}

我必须添加一个数量并通过获得它的概率来分配可能的结果。

结果示例:

Added 10 "amounts"
Result:
Easy -> 8 amounts
Medium -> 2 amounts
Hard -> 0 amounts
very hard-> 0 amounts

如果没有大量的假设和计算,任何公式,最好的方法是什么?

您可以使用接受 object 输入的通用map function 来执行此操作 -

 const map = (t, f) => Object.fromEntries(Object.entries(t).map(([k,v]) => [k,f(v)])) const amounts = (t, n) => map(t, v => Math.round(n * v)) // <- use `map` here const input = {easy:0.85, medium:0.1, hard:0.03, vhard:0.02} console.log(amounts(input, 10))

{
  "easy": 9,
  "medium": 1,
  "hard": 0,
  "vhard": 0
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM