哪位大神可以幫我看一下 為什么第二個篩選只出來一個 沒有繼續(xù)往下顯示
<!DOCTYPE? HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制語句</title>
<script type="text/javascript">
?//第一步把之前的數(shù)據(jù)寫成一個數(shù)組的形式,定義變量為 infos
?var infos= [['小A','女',21,'大一'],
? ? ? ? ? ? ? ? ? ? ['小B','男',23,'大三'],
? ? ? ? ? ? ? ? ? ? ['小C','男',24,'大四'],
? ? ? ? ? ? ? ? ? ? ['小C','男',24,'大四'],
? ? ? ? ? ? ? ? ? ? ['小D','女',21,'大一'],
? ? ? ? ? ? ? ? ? ? ['小E','女',22,'大四'],
? ? ? ? ? ? ? ? ? ? ['小F','男',21,'大一'],
? ? ? ? ? ? ? ? ? ? ['小G','女',22,'大二'],
? ? ? ? ? ? ? ? ? ? ['小H','女',20,'大三'],
? ? ? ? ? ? ? ? ? ? ['小I','女',20,'大一'],
? ? ? ? ? ? ? ? ? ? ['小J','男',20,'大三']]
?
?//第一次篩選,找出都是大一的信息
?var myarr=new Array();
?for(var i=0; i<infos.length;i++){
? ? ?if(infos[i][3]=='大一'){
? ? ? ? ?myarr[i]=infos[i];
? ? ? ? ?document.write(myarr[i]);
? ? ?}
?}
??
?//第二次篩選,找出都是女生的信息
?for(var i=0; i<myarr.length;i++){
? ? ?if(myarr[i][1]=='女'){
? ? ? ? ?document.write(myarr[i][0]+"<br/>");
? ? ?}
?}
?
??
</script>
</head>
<body>
</body>
</html>
2018-10-16
問題出現(xiàn)在
myarr[i]=infos[i];
這里其實是將數(shù)組myarr的值賦為
[['小A','女',21,'大一'],null,null, ['小D','女',21,'大一'],null, ['小F','男',21,'大一'],null,null,['小I','女',20,'大一']]長度為9
這導致在下面進行第二次篩選的時候,myarr[1][1]值不存在,即遇到錯誤,也就不會進行后續(xù)的循環(huán)了
所以創(chuàng)建一個新變量,使數(shù)組myarr的變量和infos的變量不相同是必須的
2018-10-12
因為你的myarr[]不在上一個循環(huán)里,myarr[]只是“局部變量”,并不是全局變量,
?for(var i=0; i<infos.length; i++){
??? ?
??? if(infos[i][3]=='大一'){
?????? ?
??????? arr[i]=infos[i];
?????? ?
??????? document.write(arr[i]);
?????? ?
??? for(var j=0;j<arr.length;j++){
??? if(arr[j][1]=='女生'){
??????? document.write(arr1[j][0]+"<br/>");
??? }
?}
??? }
?}
參考一下
2018-10-08
改成這樣就好了? ?
for(var i=0; i<infos.length;i++){
? ? ?if(infos[i][1]=='女'){
? ? ? ? ?document.write(infos[i][0]+"<br/>");
? ? ?}
?}
2018-09-30
循環(huán)條件寫錯了吧 按照第一次的循環(huán)條件是可以的
2018-09-30
for(var i=0; i<infos.length; i++){
? ? ?if(infos[i][1]=='女'){
?????????myarr[i]=infos[i];
? ? ? ? ?document.write(myarr[i]+"<br/>");
? ? ?}
?}