zoukankan      html  css  js  c++  java
  • JS对象和数组的遍历方法

    【原文来自】: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]);
           }
    

    输出:

    张三;李四;

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

  • 相关阅读:
    day4-叶卓睿
    day3-任清宇
    Cisco show interface 命令详解
    k8s入门系列之guestbook快速部署
    k8s入门系列之扩展组件(二)kube-ui安装篇
    k8s入门系列之扩展组件(一)DNS安装篇
    k8s入门系列之介绍篇
    k8s入门系列之集群安装篇
    SPAN, RSPAN, ERSPAN
    在Linux下记录所有用户的登录和操作日志
  • 原文地址:https://www.cnblogs.com/meiguhuaxian/p/12447269.html
Copyright © 2011-2022 走看看