为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我把条件改为11,页面就崩溃

我把while条件改为小于11,下面的也改为11,结果页面崩溃为什么

正在回答

3 回答

while(myarr.length<=10)

{

    num=Math.round(Math.random()*10);

    for(i=0;i<10;i++)

   {

       if(num==myarr[i])  //myarry里面是否存在这个数,如果存在则跳过for循环,重新生成一个随机数

       {break;}

       if(i==myarr.length-1) //判断是否是myarr数组中的最后一个数,且myarr中不存在这个数,     

       {                                   

           myarr[i+1]=num;       //便在myarr中存放这个数

           break;

       }

   }

}

你通过上面的while已经将0-10的整数放入myarr里面了,

当你改成while(myarr.length<=11)时就变成了死循环,因为myarr里面的0-10只能存放唯一 一次,而myarr.length永远定格在11这个值,而且永远满足while的循环条件,再也不能插入任何值。


0 回复 有任何疑惑可以回复我~

你第7行代码,var myarr=new Array(0);,声明的数组myarr含有0个元素,系统没有为它分配空间,后面你一直往里面放数据,肯定结果不对的啊;还有你的第15行,逻辑好乱  能不能问一下你是要实现什么效果呢

0 回复 有任何疑惑可以回复我~

你可以测试一下,上面的改为11后,实际有多少个元素。

下面的索引应该是超限了。


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我把条件改为11,页面就崩溃

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信