关于js的几个小问题,有关数组,循环

var index = [];
index[0] = Math.floor(Math.random()*4);
while(index.length<4){
        var num = Math.floor(Math.random()*4);
        for(var i=0; i<index.length; i++){
            if(index[i]==num){
                break;
            }
        }
        if(i==index.length){
            index[index.length] = num;
        }
 }

首先,i不是定义在for循环中吗,为什么能直接在第二个if中应用;
其次,index[0]=x的意思是数组第一个值是x吗?这时候是不是index.length为1,
那index[4]=3是不是说明数组的第5个值为3,并且自动赋予了数组5个值
最后,整个while循环有些看不懂,望解析一下(随机取0到3之间的值我还是明白的)


哆啦的时光机
浏览 638回答 1
1回答

开心每一天1111

第一遍循环,i=0,这样index[index.length],这个就是index[1],相当于数组length=2了,再次循环,到index[index.length]时,数组长度=3了,直到length=4,退出循环
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript