zoukankan      html  css  js  c++  java
  • 遍历对象属性5种方法,排列顺序规则

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

    2、Object.keys(obj)
    Object.keys 返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性)的键名

    3、Object.getOwnPropertyNames(obj)
    Object.getOwnPropertyNames返回一个数组,包含自身所有属性(不含Symbol属性,但是包括自身不可枚举属性)的键名

    4、Object.getOwnPropertySymbols(obj)
    Object.getOwnPropertySymbols返回一个数组,包含自身对象所有Symbol的熟悉键名

    5、Reflect.ownKeys(obj)
    Reflect.ownKeys返回一个数组,包含对象自身所有键名,不管键名是Symbol或字符串,也不管是否可枚举


    以上5种遍历对象键名,都会遵循同样的属性遍历的次序的规则

    -首先遍历说有数值键值,按照数值升序排列。
    -其次遍历所有的字符串键,按照加入时间升序排列。
    最后遍历所有Symbol键,按照加入时间升序排列

    1 Reflect.ownKeys({ [Symbol()]:0, b:0, 10:0, 2:0, a:0 })
    2 //["2", "10", "b", "a", Symbol()]
    游走大神世界,体验代码魅力
  • 相关阅读:
    LinkedBlockingQueue
    PriorityBlockingQueue
    js阻止事件冒泡
    java map常用的4种遍历方法
    JAVA jar 和 war 包的区别
    jquery 操作大全
    Java 使用new Thread和线程池的区别
    原生XMLHttpRequest
    socket 和 webscoket 的区别
    GET和POST请求的区别如下
  • 原文地址:https://www.cnblogs.com/hongding/p/11108734.html
Copyright © 2011-2022 走看看