假设我有用户 1、用户 2 和用户 3。用户 1 有 10 倍,用户 2 有 50 倍,用户 3 有 40 倍。有奖励,奖励为1y。如何根据与每个用户相关的变量相应地分配奖励?用户数据存储在 sqlite 数据库中。
问问题
39 次
2 回答
0
我无法发表评论,因为我没有足够的声誉,所以我将其发布为答案
根据你的说法,
100x of reward = 1y;
所以对于一个拥有 1x 的用户的奖励是,
1x of reward = 1y / 100;
例如,如果用户获得 40 倍的奖励,那么
40x reward = 1y / 100 * 40
您可以像这样计算 x 的任何乘数的奖励
(reward_multiplier)x reward = 1y / 100 * (reward_multiplier)
于 2020-06-12T16:56:38.307 回答
0
尝试这个:
const users = [
{name: 'user 1', weight: 10},
{name: 'user 2', weight: 50},
{name: 'user 3', weight: 40}
]
const reward = 200
const totalWeight = users.reduce((total, {weight}) => total += weight, 0)
const splitReward = users.reduce((obj, {name, weight}) => {
obj[name] = reward * weight / totalWeight
return obj
}, {})
console.log(splitReward)
于 2020-05-20T01:34:49.217 回答