JavaScript 中随机生成7个数字,保存到数组中,范围[1-10]----不能重复

JavaScript 中随机生成7个数字,保存到数组中,范围[1-10]----不能重复

 

arr.indexOf(value)

假如没有:返回-1

有:返回下标

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title></title>
</head>
<body>

    <button type="button" id="btn3">作业:点击生成这个数组</button>

    <script>
       
        var btn3 = document.getElementById("btn3");
        // function() {} :没有函数名,会创建这个函数,并且返回函数地址
        btn3.onclick = function() {
            // 每次点击,有一个空数组
            var numbers = [];

            console.log("开始生成...")
            
            while(true) {
                // 生成随机数
                var n = randomNumber(1,10);

                // 判断是否存在: 不存在返回-1
                var value = numbers.indexOf(n);

                // 存入
                if(value == -1){
                    numbers.push(n);
                }

                // 想什么时候跳出循环
                if(numbers.length == 7)break;
            }

            console.log(numbers);
            document.write(numbers);
        }


        function randomNumber(a = 1, b = 10) {
				// 这两个函数会做个类型转换, 假如含有其他字符,返回的是NaN
				var max = Math.max(a, b);
				var min = Math.min(a, b);
				if (isNaN(max)) throw "参数不规范!";
				return Math.floor(Math.random() * (max - min + 1) + min);
			}

    </script>
    

</body>
</html>

如图所示:

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页