请问程序错在哪里?

题目要求是在script标签内,使用random ()方法和round(),计算不大于10的整数。

下面是我的代码,编蒙了,谁来帮我看一下。


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Math </title>
<script type="text/javascript">
//循环
    var k = 0;
    while(1){
        
//生成10以内的整数
    var a = Math.random()*10;
    var b = Math.round(a);
    document.write(b);

//放入数组arr
    c[k] = b;
    k++;
    
//数组去重
    function only(){
    for(i in c){
        if(var j=c.indexOf(b)){
            if(var l=c.indexOf(b,j+1)>=0){
                c[l] = "";
                only();
            }
        }
    }
    }
//如果arr.length==11,循环结束
    if(k==10) break;
//排序并输出arr数组
    c.sort();
    document.write(c);
    }
</script>
</head>
<body>
</body>
</html>

ffff团4346595
浏览 1241回答 3
3回答

慕田峪3555374

看来你晕的还不轻,首先你那个循环的k一直是在递增,不管有没有重复的数,所以最后你得到的肯定少于十个数,而且,你那个判断也有问题,太麻烦了,直接两个函数就解决了indexOf() , splice();新产生的数先去数组中找看有没有,有就跳过直接下一次循环,没有再向数组中添加这个数,然后k再加1
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript