猿问

为什么这个代码的第二个for语句不会输出?

<script type="text/javascript">

var infos=[['小A','女','21','大一'],['小B','男','23','大三'],['小C','男','24','大四'],['小D','女','21','大一'],['小E','女','22','大四'],['小F','男','21','大一'],['小G','女','22','大二'],['小H','女','20','大三'],['小I','女','20','大一'],['小J','男','20','大三']]


 //第一步把之前的数据写成一个数组的形式,定义变量为 infos

 for(i=0;i<=infos.length;i++)

 {

  if(infos[i][3]=="大一"){

      document.write(infos[i]+"<br />");

      

  }

 }

 //第一次筛选,找出都是大一的信息

 for(i=0;i<=infos.length;i++)

 {

    if(infos[i][1]=="女"){

         document.write(infos[i]+"<br />");

     }

 }

  

 //第二次筛选,找出都是女生的信息

 

 

  

</script>


慕数据4485210
浏览 1897回答 2
2回答

czdll

怎么说呢,代码本身分段来说的话可以说是没错的,但是document.write在这里只会调用一次,可以把document看做一个输出流,他在第一个for里面已经被定义了,第二个for里面的document可以看做已经不是原来的输出界面了,所以不会输出在当前页面其实你这种写法本身就不大好。。。js主要是交互的而不是输出的页面内容的,想达到你想要的效果的话最好是做一个html页面,分两个区块调用这两个for语段(包装成函数再调用),这样输出肯定没问题

MadMarical

你好。for(1=0;i<=infos.length;i++)中变量i不是1,这里出错了。
随时随地看视频慕课网APP
我要回答