首页 > 编程语言 > 详细

JS对象和数组的遍历方法

时间:2020-03-09 11:02:22      阅读:72      评论:0      收藏:0      [点我收藏+]

【原文来自】:https://www.cnblogs.com/chenyablog/

一、javaScript遍历对象总结

1、使用Object.keys()遍历
返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性).

       var obj = {'0':'a','1':'b','2':'c'};
       Object.keys(obj).forEach(function(key){
            console.log(key,obj[key]);
       });

输出:
a b c

2、使用for..in..遍历
循环遍历对象自身的和继承的可枚举属性(不含Symbol属性).

       var obj = {'0':'a','1':'b','2':'c'};
       for(var i in obj) {
            console.log(i,":",obj[i]);
       }

输出:
a b c

3、使用Object.getOwnPropertyNames(obj)遍历
循环遍历对象自身的和继承的可枚举属性(不含Symbol属性).

       var obj = {'0':'a','1':'b','2':'c'};
       Object.getOwnPropertyNames(obj).forEach(function(key){
           console.log(key,obj[key]);
       });

输出:
a b c

4、使用Reflect.ownKeys(obj)遍历
返回一个数组,包含对象自身的所有属性,不管属性名是Symbol或字符串,也不管是否可枚举.

       var obj = {'0':'a','1':'b','2':'c'};
       Reflect.ownKeys(obj).forEach(function(key){
       console.log(key,obj[key]);
       });

输出:
a b c

二、javaScript遍历数组总结

1、使用forEach遍历

       var arr=[1,2,3,4];
       arr.forEach(function(val, index) {
       console.log(val, index);
       });

输出:
1 0;2 1;.....

2、使用for..in..遍历

       var arr=["张三","李四","王五","赵六"];
       for (var i in arr){
       console.log(i,":",arr[i]);
       }

输出:
0:张三;1:李四;

3、使用for-of遍历
不仅支持数组,还支持大多数类数组对象,例如DOM NodeList对象.也支持字符串遍历,它将字符串视为一系列的Unicode字符来进行遍历.

       var arr=["张三","李四","王五","赵六"];
       for (var value of arr){
           console.log(value);
       }

输出:
张三;李四;

4、使用for-length遍历
这种方式比较常用的方式

       var arr=["张三","李四","王五","赵六"];
       for (var i=0;i<arr.length;i++){
           console.log(arr[i]);
       }

输出:
张三;李四;

附录:
之前看过各种不同遍历方式的性能;待补充

JS对象和数组的遍历方法

原文:https://www.cnblogs.com/meiguhuaxian/p/12447269.html

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