javascript - 用js實作紅包分配問題
滿天的星座
滿天的星座 2017-07-05 10:37:39
0
3
839

100元給10個人發紅包,紅包大小隨機,每個人都能拿到紅包

滿天的星座
滿天的星座

全部回覆(3)
学霸
rpAmount = 100
ppCount = 10
rpResult=[]
rpRnds = []
rpRndSum = 0
for(let i=0;i<ppCount;i++){let rnd = Math.random();rpRndSum+=rnd;rpRnds.push(rnd);}
rpRnds.forEach((rnd)=>{rpResult.push(rpAmount*rnd/rpRndSum)})
console.log('rpResult',{rpResult,sum:rpResult.reduce((acc,val)=>{return acc+val})})

核心思想:
隨機數直接決定的權重, 而非金額.

世界只因有你

可以看看這個
/q/10...

曾经蜡笔没有小新

思路:使用random函數每次隨機分配 每次得出的紅包值大於0.01小於剩餘金額-剩餘人數*0.01 最後一個人獲得剩餘全部就行

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板