<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,'大三']
];
for(var i=0;i<=infos.length;i++){
if(infos[i][1]=="女" && infos[i][3]=="大一") {
document.write(infos[i][0]+"<br>")
}
}
</script这个写下来没有问题,但是把for那段换成:
for(var i=0;i<=infos.length;i++){
switch(infos[i][1]+infos[i][3]){
case "女大二":
document.write(infos[i][0]+"<br>");
break;
}
}虽然还是能出结果,但是控制台一直在报错:Uncaught TypeError Cannot read properties of undefined
请问哪位大佬能帮忙看一下,这个是啥情况?
用switch的话它会提示读取对象为空(switch(infos[i][1]+infos[i][3]),你知道为什么吗?
找到原因了:i<=infos.length,所以出错,换成i<infos.length即可
i不应该≤length吧 都超了索引了,<就行了