首页 > 编程语言 > 详细

对于undefined和null,还有处理这一类的数组

时间:2015-12-22 16:17:28      阅读:167      评论:0      收藏:0      [点我收藏+]
var total=0;
var  data=new Array(5);//定义了data数组,length为5,但是都是元素都是undefined。
  for(i=0;i<data.length;i++){
    if(!data[i]) {
      total=total+1;
      continue;}
    total +=data[i];
  }
  alert(total);

!data[i]为true,data[i]===undefined也是true。typeof(data[i])==‘undefined‘也是true,data[i]==null也是true。如果需要对于以下这种数组处理

var  data=[2,5,,8];//data[2]== undefined  

对于这类的稀疏数组,可能遍历时加入数据,那么通过if(...) continue;跳出这次循环,看具体对undefined还是null的处理,其实两者此时效果是一样的。都是“没有数据”的含义。

------------------

1.跳过null,undefined,不存在的元素。

if(!data[i]) continue;

2.跳过undefinde,不存在的元素。

if(data[i]===undefined) continue;

3.跳过不存在的元素

if(!(i in data)) continue;

 

if(data[i])表示如果存在,他的!就是表示undefined,null和不存在。

对于undefined和null,还有处理这一类的数组

原文:http://www.cnblogs.com/yinheng/p/5066787.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!