资讯专栏INFORMATION COLUMN

与JavaScript恋爱之数组(三)

mengera88 / 2386人阅读

摘要:一循环使用参数为对象,返回一个数组,为对象属性名的集合不可枚举的除外。

数组循环
数组循环方法:for循环,forEach(),for/in
一、for循环
1.使用Object.keys()参数为对象,返回一个数组,为对象属性名的集合(不可枚举的除外)。IE8+,然后使用for循环得到对象的值的集合。

var o={a:1,b:2,c:3};
Object.defineProperty(o,"c",{ //使o中的属性c不可枚举
   enumerable:false
});
var keys=Object.keys(o);//得到o中的属性名的集合,keys为一个数组,不可枚举的不能遍历
var arr=[];
for(var i=0,len=keys.length;i

2.过滤数组中为undefined,null,NaN,"",false,和不存在的元素(稀疏数组中有不存在的元素)

var arr=[1,2,3,,undefined,null,"",false,NaN];
var p=[];
for(var i=0,len=arr.length;i

3.在稀疏数组中过滤掉不存在的元素

var arr=[undefined,1,2,3,,null,"",false,NaN];
var p=[];
for(var i=0,len=arr.length;i

4.在数组中过滤null元素

var arr=[undefined,1,2,3,,"",null,false,NaN];
var p=[];
for(var i=0,len=arr.length;i

5.在数组中过滤为undefined的元素

var arr=[undefined,1,2,3,,"",null,false,NaN];
var p=[];
for(var i=0,len=arr.length;i

二、for/in
1.使用for/in过滤掉不可枚举的元素

var arr=[1,2,3,4];
var p=[];
Object.defineProperty(arr,"3",{ //使索引为3,即属性名为"3"不可枚举
   enumerable:false
});
for(var i in arr){
   p.push(arr[i]);
}
p;//1,2,3

1.使用for/in枚举属性

Array.prototype.run=function(){  //run()返回实例数组索引为0的元素
   return this["0"];
};
var arr=[1,2,3];
var p=[];
for(var i in arr){
   p.push(i);
}
p;//0,1,2,3  这里0,1,2,3是arr里的索引,arr被枚举了4个元素包括继承属性run

1.使用for/in过滤继承属性

Array.prototype.run=function(){  //run()返回实例数组索引为0的元素
   return this["0"];
};
var arr=[1,2,3];
var p=[];
for(var i in arr){
   if(!arr.hasOwnProperty(i)) continue;
   p.push(i);
}
p;//0,1,2只枚举了3个属性,过滤了继承属性run

三、forEach()遍历,IE8+

var arr=[1,2,3,4];
var toal=0;
arr.forEach(function(x){
    toal+=x;
});
toal;//10

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/91369.html

相关文章

  • JavaScript恋爱数组(二)

    摘要:索引删除某个元素,数组不变理解数组是特殊的对象,转变成稍后章节中介绍数组的其他方法 一、数组元素的添加 var arr=[];//创建一个空数组 arr[0]=0;//给arr添加第一个元素 arr[0]=1;//修改arr第一个元素 arr.push(1);//给arr末尾添加一个元素 arr.unshift(-1);//给arr前面添加一个元素 二、数组元素的修改 var arr=...

    李增田 评论0 收藏0
  • JavaScript恋爱数组(一)

    摘要:一认识数组数组是值的有序集合。每一个值叫一个元素,每一个元素在数组中有一个位置,以数字表示,叫做索引。数组的索引类似于对象的属性名等价于每个实例数组都继承自中的属性。构造函数传入多个参数时参数为元素。 一、认识数组数组是值的有序集合。每一个值叫一个元素,每一个元素在数组中有一个位置,以数字表示,叫做索引。第一个元素的索引为0,数组有一个length属性,为数组的元素个数,length比...

    fantix 评论0 收藏0
  • JavaScript恋爱数组(四)

    摘要:参数传入一个函数,函数有一个参数指代数组元素。,其中是偶数方法只要有一个或多个满足条件都会返回参数参考返回一个布尔值。 数组方法1.join(),数组转字符串,原数组没有被修改。可选参数:一个字符串参数。数组的join()方法的实现:先把所有的单个元素都转成字符串,然后按照参数链接每单个元素,不传参数时,默认用,链接每单个元素。 var arr=[1,2,3,4,5]; var str...

    liaoyg8023 评论0 收藏0
  • JavaScript恋爱对象的个属性

    摘要:为要检测的对象构造函数创建的对象继承了一个叫的属性,该属性指代该构造函数,即的原型。使用直接量创建的对象,也有一个叫的属性,该属性指代构造函数,所以直接量创建的对象的真正原型是,使用方法来检测对象的原型并不可靠,在以后的文章中会提到。 一、原型属性 1、对象的原型属性是用来继承属性的,这个属性如此重要,我们通常称为:对象的原型属性或对象的原型。对象的原型是在对象实例化的时候就设置好的...

    wanglu1209 评论0 收藏0
  • JavaScript恋爱关于DOM对象相关的兼容封装(一)

    摘要:兼容获取指定对象下具有指定类名的对象参数为父节点对象,为类名当没有传入指定的父节点对象时默认获取下所有的指定类事件绑定兼容需要绑定事件的元素,事件类型,执行函数级及以下级 1、兼容获取指定DOM对象下具有指定类名的DOM对象 //参数:parentNode为父节点对象,className为class类名 //当没有传入指定的父节点对象时,默认获取document下所有的指定类 func...

    Shihira 评论0 收藏0

发表评论

0条评论

mengera88

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<