源码地址双色球[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