js用for循环和随机数,随机一个1-9的数组

这篇博客介绍了如何使用JavaScript生成一个包含9个不重复随机数(1-9)的数组。通过Math.random()和Math.floor()结合,配合for循环和条件判断,确保数组中每个元素唯一。博客还探讨了如何简化代码,使用includes()方法和三目运算符提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

随机得到[1,2,3,4,5,6,7,8,9]

1. 随机数:

Math.random()方法,可以随机0-1的数,我们可以使用Mathfloor()包裹进行向下取整;众所周知,随机数公式为:
Math.random()(最大值-最小值)+最小值*
所以最后的随机数产生公式为:
var element = Math.floor(Math.random() * (最大值-最小值) + 最小值);

2. for循环
for (var i = 0; i < 9; i++) {
    var element = Math.floor(Math.random() * 9 + 1);
    console.log(element);
}

在这里我们得到了九个随机数,可以通过创建一个arr将之存起来

let arr = new Array();
for (var i = 0; i < 9; i++) {
    var element = Math.floor(Math.random() * 9 + 1);
    arr.push(element);
}
console.log(arr);

可以得到一个包含九个数的数组,可能有人发现了,这个数组中有重复的数字,那么怎么办呢?这就要用到去判断了,我们先可以通过内置一个for循环进行判断,来判断arr中每一个值是否和随机数相等,得到的形式就是这样:

var arr = new Array();
for (var i = 0; i < 9; i++) {
    var element = Math.floor(Math.random() * 9 + 1);
    for (var j = 0; j <= arr.length; j++) {
        if (arr[j]==element) {
            break;
        }
    }
    // 判断内层是否是break出来的
    if (j == arr.length+1) {
        arr.push(element);
    }else{
        // 如果是Break结束循环,说明有这个值,让i减1再随机一个数
        i--
    }
}

当然,如果可以的话,内层for循环可以用includes方法代替,if else可以用三目运算代替简化之后就是这样:

var arr = new Array();
for (var i = 0; i < 9; i++) {
    var element = Math.floor(Math.random() * 9 + 1);
    !arr.includes(element)?arr.push(element):i--
}
console.log(arr);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ts_shinian_web

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值