我这个双色球代码有什么错误吗?

<script>
    var red = [parseInt(Math.random() * 33 + 1)];
    var blue = [parseInt(Math.random() * 15 + 1)];

    console.log(red);
    while (red.length < 7) {
        var r = parseInt(Math.random() * 32 + 1);
        for (var i = 0; i <= red.length; i++) {
            if (r != red[i]) {
                red[red.length] = r;
            }
        }
    }
    console.log('双色球号码' + red + blue);
</script>

看起来是 死循环 了 ,会导致 浏览器 崩溃

我感觉楼主这个也不需要用到两个循环呀,使用一个循环就够了
var red = [parseInt(Math.random() * 33 + 1)];
var blue = [parseInt(Math.random() * 15 + 1)];
console.log(red);
for (var i = 0; i <= 7; i++) {
var r = parseInt(Math.random() * 32 + 1);
red[i].push(r);
}

        console.log('双色球号码' + red + blue);

如果是七个元素的数组的话,一开始就把 red 设为空数组 不知道是否是这样子。