时间:2021-08-09 08:51:20 | 栏目:JavaScript代码 | 点击:次
金额随机:额度在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; }
总结