大概思路应该是这样子,不知道是不是你想要的
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()