html抽奖调整中奖率,JS带库存的抽奖算法问题

大概思路应该是这样子,不知道是不是你想要的

let lotteryAwardList=[

{

name: '一等奖',

total: 1,

remain: 1

},

{

name: '二等奖',

total: 2,

remain: 2

},

{

name: '三等奖',

total: 10,

remain: 10

},

{

name: '四等奖',

total: 20,

remain: 20

},

]

function lottery(){

let chooseAwardName=''

if(lotteryAwardList.length>0){

let total=0,arr=[],copylotteryAwardList=[];

lotteryAwardList.map((award,index)=>{

total+=award.remain;

if(award.remain>0){

copylotteryAwardList.push(award)

for(var i=0;i

arr.push(index)

}

}

})

let randomNum = parseInt( Math.random() * arr.length );

let chooseAwardIndex=arr[randomNum]

chooseAwardName=copylotteryAwardList[chooseAwardIndex].name

lotteryAwardList[chooseAwardIndex].remain=lotteryAwardList[chooseAwardIndex].remain-1;

if(copylotteryAwardList[chooseAwardIndex].remain===0){

lotteryAwardList.splice(chooseAwardIndex,1)

}

}else{

chooseAwardName='无'

}

return chooseAwardName

}

lottery()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值