继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

双色球随机取号[6(红球)+1(蓝球)],从数组中随机取出n个不重复元素

Capricorncd
关注TA
已关注
手记 17
粉丝 9
获赞 164
lottery-ball

双色球[6(红球)+1(蓝球)]随机取号。从两个数组中随机n,m个元素,默认为33个元素的数组和16个元素的数组,随机从Array(33)中取出6个,从Array(16)中取出1个...

源码地址

https://github.com/capricorncd/lottery-ball

效果图

图片描述

使用方法
<script src="../build/lottery-ball.js"></script>
<script>
    // 实例化
    // 可以传入参数,请见API
    var Ball = new LotteryBall();

    // 随机取出6+1个元素对象
    var selectedBallObject = Ball.print();

    console.log('红球:' + JSON.stringify(selectedBallObject.redBall));
    console.log('蓝球:' + JSON.stringify(selectedBallObject.blueBall));

    // 格式取出的元素对象为字符串
    // 默认输出格式:[01,02,05,08,18,31][14]
    // 可自定义链接符号,详见API
    var str = Ball.format(selectedBallObject);

    console.log('格式为字符串:' + str);

</script>
API
  • 可初始化参数:
var Ball = new LotteryBall({
    // 可选: 非空数组一。为空则默认01-33个元素的数组
    redBall: ['01', '02', 'n'],
    // 可选: 非空数组二。为空则默认01-16个元素的数组
    blueBall: ['元素1', '元素2', '元素n'],    
    // 可选: 错误提示
    error: function (err) {
        console.error(err.msg);
    }
});
  • Ball.randExtraction(n, arr)

从数组(arr)中随机取出n个不重复元素;n不能大于数组(arr)的长度。
@param n 取出n个元素
@param arr 数组
@returns {Array} 返回一个有n个元素的新数组对象。

  • Ball.print(redNum, blueNum)

输出随机抽取的红球(默认6个)、蓝球(默认1个)
@param redNum 需要从数组一中取出的元素个数(需要取出的红球个数)
@param blueNum 需要从数组二中取出的元素个数(需要取出的蓝球个数)
@returns {redBall: ['数组元素'], blueBall: ['数组元素']}

  • Ball.format(obj, delimiter, connector)

将选出的号码,格式化为字符串
默认格式:[01,02,03,04,05,06][15]
@param obj 必须。取出的红球/蓝球对象
@param delimiter 可选。红球与蓝球间的分隔符
@param connector 可选。红球之间的链接符(Array.join(connector)字符串化的链接符号)
@returns {string} 返回一个拼接好的字符串


Create by capricorncd / 2017-06-06

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP