类似微信红包随机分配js方法

function calc(money,person){
var tmp=[]
for(i=0;i<person;i++){
tmp.push(Math.random())
}
var total=eval(tmp.join('+'));
var arr=[];
for(i=0;i<tmp.length;i++){
arr[i]=tmp[i]/total;
}
//console.log('arr is '+arr)
var cc=[];
for (i=0;i<arr.length-1;i++){
cc[i]=parseInt(money*arr[i])
}
var len = arr.length;
cc[len-1]=money-eval(cc.join('+'));
return cc;
}

//缺点呢。。1,最后一个数可能会很小,2,有可能出现0的情况。。

原文地址:https://www.cnblogs.com/gytekin/p/5086306.html