基于js实现抽红包并分配代码实例
这篇文章主要介绍了基于js实现抽红包并分配代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
将50000元随机分给10个人,其中3个人必须分到百位数,4个人分到千位数,3个人分到万位数,每个人所得金额
Document 将50000元随机分给10个人,其中3个人必须分到百位数,4个人分到千位数,3个人分到万位数,每个人所得金额/** * *@param{Object}amount总数钱 *@param{Object}list[2,2,2,3,3,3,3,4,4,4]3个百位,4个千位,3个万位 */ //不要小数 functiondevide(amount,list){ varlen=list.length; //先计算所有的自身位数范围 vararr=[]; for(vari=0;i amount||arr[0].end mins){ console.warn("分配出现错误,请重新规划分配方案"); returnfalse; }elseif(end>mins){ //如果最大范围大于剩余的 end=mins; } //则随机抽取从start至end varresult=Math.floor(Math.random()*(end-start)+start); if(amount-result>maxEnd){ //取的值太小,其他的取最大值也分不完 console.warn("分配出现错误,请重新规划分配方案"); } returnresult; } //获取某位的范围 functiongetRange(item){ return{ start:Math.pow(10,item),//比如百位2,这里最小就是100 end:Math.pow(10,item+1)-1//百位最大为1000-1 } } //获取所有的范围 functiongetOtherRange(arr){ varcountStart=0; varcountEnd=0; for(vari=0;i