解決方式,歡迎批評指正
<!DOCTYPE? HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制語句</title>
<script type="text/javascript">
?var myarr=new Array(['小A','女',21,'大一'],['小B','男',23,'大三'],['小C','男',24,'大四'],['小I','女',20,'大一'],['小F','男',21,'大一'])
for(var i=0;i<myarr.length;i++){
? ? if(myarr[i][3]=='大一'){//首先判斷年級是否為大一
? ? ? ?for(var j=0;j<myarr[0].length;j++){
? ? ? ? ? ?if(myarr[i][j]=='女')//第二次,從查詢出的大一的信息中再判斷是否為女
? ? ? ? ? ?document.write(myarr[i][0]);//打印姓名
? ? ? ?}
? ? }
}
</script>
</head>
<body>
</body>
</html>
2021-01-27
兩個錯誤,
第一個,二維數組聲明的時候,不用new Array,直接 var myarr = 【【】,【】】
而且人家給你定義好了infos的變量名,你不用,你這樣你以后的開發經理會把你菊花按在地上摩擦。
第二個,你為啥又套了個循環,你直接進來判斷符合大一的第性別為女不就好了?
放那么多循環,你沒學過時間復雜度嗎???你這程序算法big O 復雜度都爆炸
2020-12-22
其實 myarr[i][1]=='女'? 就好了,不用再套循環了,length 可以提取出來,減少計算,因為長度不變了