• JavaScript中遍历对象的方法


    定义对象

    (1)先定义一个对象,后面都是遍历这个对象、

    const people = {
      name: "luca",
      age: 23,
      eyes: ["left", "right"],
      walk: function() {
        console.log("people can wolk");
      },
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    1、使用 for in

    (1)for in
    (2)循环遍历对象自身的和继承的可枚举属性

    for(let key in people) {
      console.log("key: " + key + " --> value: " + people[key]);
    }
    
    • 1
    • 2
    • 3

    2、使用 Object.keys() 方法

    (1)语法:Object.keys(obj)
    (2)参数:obj,要返回其枚举自身属性的对象。
    (3)返回值:一个表示给定对象的所有可枚举属性的字符串数组

    for(const key of Object.keys(people)) {
      console.log("key: " + key + " --> value: " + people[key]);
    }
    
    • 1
    • 2
    • 3

    3、使用 Object.entries() 方法

    (1)语法:Object.entries(obj)
    (2)参数:obj,可以返回其可枚举属性的键值对的对象
    (3)返回值:给定对象自身可枚举属性的键值对数组

    for(const [key, value] of Object.entries(people)) {
      console.log("key: " + key + " --> value: " + value);
    }
    
    • 1
    • 2
    • 3

    4、使用 Object.getOwnPropertyNames() 方法

    (1)语法:Object.getOwnPropertyNames(obj)
    (2)参数:obj,一个对象,其自身的可枚举和不可枚举属性的名称被返回
    (3)返回值:在给定对象上找到的自身属性对应的字符串数组

    Object.getOwnPropertyNames(people).forEach(function(key, index, array) {
      console.log("key: " + key + " --> value: " + people[key]);
    });
    
    • 1
    • 2
    • 3

    输出结果都为:

    在这里插入图片描述

  • 相关阅读:
    【Qt】—— 对象模型的认识
    EventListener
    Ubuntu系统anaconda安装初始化和env环境切换
    Spring整合RabbitMQ-注解方式
    【C/调试实用技巧】—作为程序员应如何面对并尝试解决Bug?
    mysql的索引(基础)
    InnoDB 中不同SQL语句设置的锁
    OLAP与OLTP:数据处理系统的比较分析
    c++八股day3-c++什么时候生成默认拷贝构造函数
    FFmpeg拉流教程
  • 原文地址:https://blog.csdn.net/weixin_46511008/article/details/126057382