金额随机:额度在0.01和(剩余平均值*2)之间。
/** * 抢红包 * @param {[number]} totalAmount [总金额] * @param {[number]} totalPeople [总人数] * @return {[Array]} [每个人抢到的金额] */
function assign(totalAmount, totalPeople){
var remainAmount = +totalAmount;
var remainPeople = +totalPeople;
var arr = [];
while(remainPeople > 0){
let num = scramble(remainAmount, remainPeople);
remainAmount = remainAmount - num;
remainPeople--;
arr.push(num);
}
return arr;
}
function scramble(remainAmount, remainPeople){
if(remainPeople === 1){
return +remainAmount.toFixed(2);
}
let max = ((remainAmount / remainPeople) * 2 - 0.01).toFixed(2);
let min = 0.01;
let range = max - min;
let rand = Math.random();
let num = min + Math.round(rand * range); //四舍五入
return num;
}