基于JavaScript实现微信抢红包功能


Posted in Javascript onJuly 20, 2017

金额随机:额度在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;
}

总结

以上所述是小编给大家介绍的基于基于JavaScript实现微信抢红包功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
基于jQuery架构javascript基础体系
Jan 01 Javascript
基于jquery循环map功能的代码
Feb 26 Javascript
JavaScript 判断日期格式是否正确的实现代码
Jul 04 Javascript
js定时器怎么写?就是在特定时间执行某段程序
Oct 11 Javascript
Javascript解析URL方法详解
Dec 05 Javascript
javascript实时获取鼠标坐标值并显示的方法
Apr 30 Javascript
浅谈javascript中的加减时间
Jul 12 Javascript
react-router中的属性详解
Jun 01 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
Oct 24 Javascript
微信小程序swiper实现滑动放大缩小效果
Nov 15 Javascript
简述vue路由打开一个新的窗口的方法
Nov 29 Javascript
手把手带你入门微信小程序新框架Kbone的使用
Feb 25 Javascript
ReactNative短信验证码倒计时控件的实现代码
Jul 20 #Javascript
基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
Jul 20 #jQuery
详解Angular CLI + Electron 开发环境搭建
Jul 20 #Javascript
JavaScript 基础表单验证示例(纯Js实现)
Jul 20 #Javascript
js 事件的传播机制(实例讲解)
Jul 20 #Javascript
详谈for循环里面的break和continue语句
Jul 20 #Javascript
js is_valid_filename验证文件名的函数
Jul 19 #Javascript
You might like
PHP实现异步调用方法研究与分享
2011/10/27 PHP
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
PHP5中Cookie与 Session使用详解
2013/04/30 PHP
php通过exif_read_data函数获取图片的exif信息
2015/05/21 PHP
PHP中COOKIES使用示例
2015/07/26 PHP
Zend Framework入门教程之Zend_View组件用法示例
2016/12/09 PHP
Centos 6.5下PHP 5.3安装ffmpeg扩展的步骤详解
2017/03/02 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
javascript高级学习笔记整理
2011/08/14 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
JavaScript中Function函数与Object对象的关系
2015/12/17 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
Vue实现底部侧边工具栏的实例代码
2018/09/03 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
javascript实现日历效果
2019/06/17 Javascript
vue实现图片上传功能
2020/05/28 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
2020/09/21 Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
2020/12/17 Vue.js
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
2020/04/27 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
联想墨西哥官方网站:Lenovo墨西哥
2016/08/17 全球购物
c++工程师面试问题
2013/08/04 面试题
毕业生物理教师求职信
2013/10/17 职场文书
白鹤梁导游词
2015/02/06 职场文书
手术室护士个人总结
2015/02/13 职场文书
不要在HTML中滥用div
2021/05/08 HTML / CSS
SpringBoot SpringEL表达式的使用
2021/07/25 Java/Android
MySQL限制查询和数据排序介绍
2022/03/25 MySQL
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle