对象的遍历方法

第一种 for…in

循环遍历对象自身属性和继承的可枚举属性
代码如下

<script>
      let obj = { 0: "a", 1: "b", 3: "c" };
      for (let key in obj) {
        console.log(key, ":", obj[key]);
        // 0 : a
        // 1 : b
        // 3 : c
      }
    </script>

第二种 Object.keys()

返回一个数组,包含对象自身可枚举属性(不包含继承)
代码如下

<script>
      let obj = { 0: "a", 1: "b", 3: "c" };
      let obj1 = Object.keys(obj);
      // obj1=["0", "1", "3"]
      obj1.forEach((key) => {
        console.log(key, obj[key]);
        // 0  a
        // 1  b
        // 3  c
      });
    </script>

第三种 Object.getOwnPropertyNames(obj)

返回一个数组,包含对象自身所有属性(包括不可枚举属性)
代码如下

<script>
      let obj = { 0: "a", 1: "b", 3: "c" };
      let obj2 = Object.getOwnPropertyNames(obj);
      console.log(obj2);
      // obj2=["0", "1", "3"]
      obj2.forEach(function (key) {
        console.log(key, obj[key]);
        // 0  a
        // 1  b
        // 3  c
      });
    </script>

第四种 Reflect.ownKeys(obj)

返回一个数字,包含对象自身的所有属性(不管属性名是Symbol或字符串,也不管是否可枚举.)

特别说明
1.Symbol:ES6新增了一种数据类型:Symbol,表示独一无二的值,Symbol最大的用途是用来定义对象的唯一属性名
2.关于枚举:在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的。可枚举性决定了这个属性能否被for…in查找遍历到。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值