用js實現雙色球


通過arguments.call()實現對原函數的遞歸調用;

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <!-- 隨機取1-33之間的6個數字,不可重復,並且按由小到大排序。隨機取1-16之間的兩個數字,和之前的6個數字組成數組 -->
    <input type="button" value="點擊生成雙色球數組" id="btn">
    <p id="numArr"></p>
    <script>
        function getNumArr() {
            var arr_red = [];

            function getRandomNum_red() {
                var randomNumRed = Math.floor(Math.random() * 33) + 1;
                if (arr_red.indexOf(randomNumRed) == -1) {
                    arr_red.push(randomNumRed);
                } else {
                    arguments.callee();
                }
            }
            for (let i = 0; i < 6; i++) {
                getRandomNum_red();
            }
            console.log("紅色球:" + arr_red);
            var arr_blue = [];

            function getRandomNum_blue() {
                var randomNumBlue = Math.floor(Math.random() * 16) + 1;
                if (arr_blue.indexOf(randomNumBlue) == -1) {
                    arr_blue.push(randomNumBlue);
                } else {
                    arguments.callee();
                }
            }
            for (let i = 0; i < 2; i++) {
                getRandomNum_blue();
            }
            console.log("藍色球" + arr_blue);
            arr_red = arr_red.sort(function (a, b) {
                return a - b;
            });
            arr_blue = arr_blue.sort(function (a, b) {
                return a - b;
            });
            document.getElementById("numArr").innerHTML = `<span style='color:red;'>${arr_red.toString()},</span><span style='color:blue;'>${arr_blue.toString()}</span>`;
        }
        document.getElementById("btn").addEventListener("click", getNumArr, false);
    </script>
</body>

</html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM