首页 > 求大神帮助,JS的,为什么我写的输出的结果是未定义呀。

求大神帮助,JS的,为什么我写的输出的结果是未定义呀。

下面是我的代码,另外顺便问一下,怎么才能插入代码以后,右边的浏览是代码模式呀;我点击编辑上面<>这个后插入的代码,在右边都显示不出来;很个问题很苦脑呀。

下面的代码我是想输出所有大一的字样;

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>流程控制语句</title>


<

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
 var arr=[];
 var n=0;
 for(var i=0;i<infos.length;i++){
   if(infos[i][3] == "大一"){
       arr[n]==infos[i];
       document.write(arr[n]+"</br>");
       n=n+1;
   }
 }
 document.write("大一人数"+arr.length+"</br>");
 //第一次筛选,找出都是大一的信息



</script>
</head>
<body>
</body>
</html>

1楼有2个地方值得你借鉴。

  1. 用filter,forEach这种高级api优化你的代码。
  2. 先将字符串拼接好,再插入Dom之中,这能提高代码执行的性能。

目测楼主是从C一族转过来的,写法明显有C的感觉。


一开始想复杂了以为是闭包的问题,后来仔细看了看你的代码。。。。

arr[n]==infos[i];

这好像不是赋值语句吧?


var infos=[
    ['小A','女',21,'大一'],
    ['小B','男',23,'大三'],
    ['小C','男',24,'大四'],
    ['小D','女',21,'大一'],
    ['小E','女',22,'大四'],
    ['小F','男',21,'大一'],
    ['小G','女',22,'大二'],
    ['小H','女',20,'大三'],
    ['小I','女',20,'大一'],
    ['小J','男',20,'大三']
    ];
var freshMan = infos.filter(function(info){return info[3]==="大一"});

var html = freshMan.map(function(info) {
    return info.join(",") + "<br>"
}).join("");
html += "大一人数"+freshMan.length+"</br>";
document.body.innerHTML += html;
【热门文章】
【热门文章】