var value = 0 // 记录抽中奖品字段 var end = [0, 0, 0, 0, 0, 0, 0, 0] // 奖品个数,其中最后一个为大奖 var count = 0 // 已经抽奖的次数 var minCount = 100 // 最少抽多少次才中奖 for (var i = 0; i < 100; i++) { // 抽1000次 count++ value = (0 + Math.random() * 8) count = count > minCount ? minCount : count value = Math.floor(value * (count / minCount)) // 抽中奖品索引 if (value === 7) { minCount = minCount * 4 // 这里修改第二次抽中大奖的概率 } end[value] += 1 } console.log('抽奖结果列表: ', end) console.log('抽奖总次数: ', end.reduce((a, b) => a + b))