财富密码(随机双色球)

1,192 阅读1分钟

方法一: 随机号码+去重

var m = (x, y) => {
    var s = [];
    while (s.length < x) {
        var code = Math.floor(Math.random() * y + 1);
        s.indexOf(code) < 0 && s.push(code)
    };
    return s.sort((a, b) => a - b)
};
console.log(`双色球:%c${m(6,33)} %c${m(1,16)}`, 'color:red', 'color:blue')
console.log(`大乐透:%c${m(5,35)} %c${m(2,12)}`, 'color:red', 'color:blue')

方法二:从数组中随机取出不重复号码

var m = (x, y) => {
    var s = []
    var redList = Array(x).fill(0).map((v, i) => i + 1)
    while (s.length < y) {
        var i = Math.floor(Math.random()*redList.length)
        s.push(redList[i])
        redList.splice(i, 1)
    }
    return s.sort((a, b) => a - b)
}
console.log(`双色球:%c${m(33,6)} %c${m(16,1)}`, 'color:red', 'color:blue')
console.log(`大乐透:%c${m(35,5)} %c${m(12,2)}`, 'color:red', 'color:blue')

方法三:洗牌--抽牌

var m = (x, y) => {
    var s = [];
    var redList = Array(x).fill(0).map((v, i) => i + 1);
    var shuffle = (arr) => {
        var result = [];
        while(arr.length){
            var i = Math.floor(Math.random() * arr.length);
            result.push(arr[i])
            arr.splice(i, 1)
        }
        return result;
    }
    while (s.length < y) {
        redList = shuffle(redList)
        var i = Math.floor(Math.random() * redList.length)
        s.push(redList[i])
        redList.splice(i, 1)
    }
    return s.sort((a, b) => a - b)
}
console.log(`双色球:%c${m(33,6)} %c${m(16,1)}`, 'color:red', 'color:blue')
console.log(`大乐透:%c${m(35,5)} %c${m(12,2)}`, 'color:red', 'color:blue')

方法四:洗牌--换牌

var m = (x, y) => {
    var s = [];
    var redList = Array(x).fill(0).map((v, i) => i + 1);
    var shuffle = (arr) => {
        for (var i = 0; i < arr.length; i++) {
            var r = Math.floor(Math.random() * arr.length);
            var temp = arr[r]
            arr[r] = arr[i]
            arr[i] = temp
        }
        return arr;
    }
    while (s.length < y) {
        redList = shuffle(redList)
        var i = Math.floor(Math.random() * redList.length)
        s.push(redList[i])
        redList.splice(i, 1)
    }
    return s.sort((a, b) => a - b)
}
console.log(`双色球:%c${m(33,6)} %c${m(16,1)}`, 'color:red', 'color:blue')
console.log(`大乐透:%c${m(35,5)} %c${m(12,2)}`, 'color:red', 'color:blue')

TIP

  1. 不是真随机码!!

  2. 放浏览器F12运行一下!!

  3. 兄弟们中奖了别忘记我啊!!

good luck!!

image.png