实现
// 红包总金额
let money = 100;
// 红包个数
let maxSize = 20;
// 结果集
let result=[];
while ( maxSize > 1 ) {
// 最大金额为剩余红包量的2倍, 如果不乘以2,最后的几个红包系数就会比较大, 如果乘的系数过大就会生成负数
let max = money / maxSize*2
// 产生一个随机金额
let value = Math.random() * max
// 每生成一个红包,需要从总金额中减去
money = money - value
result.push(value.toFixed(2))
--maxSize
}
result.push(money.toFixed(2))
console.log(result )
结果
图片解析失败