对象_遍历对象

for循环遍历
for in
  • 语法

    • for(let key in obj){
       // 执行语句
      }
      
    • key为对象的属性名(键名)

  • 示例

    • const obj = {
        a1:111,
        a2:222
      }
      let a3 = Symbol('a3');
      let a4 = Symbol('a4');
      obj[a3] = 333
      obj[a4] = 444
      for(let key in obj){
        console.log('key',obj[key]) // 111 222
      }
      
    • 若Symbol 值作为属性名,遍历对象的时候,该属性不会出现在for in 循环中;

获取对象的属性名
[1]Reflect.ownKeys()
  • Reflect存在一个ownKeys方法,该方法会返回一个数组,该数组包含对象的 所有 属性的属性名;

  • 语法

    • Reflect.ownkeys(obj)
      
  • 示例

    • const obj = {
        a1:111,
        a2:222
      }
      let a3 = Symbol('a3');
      let a4 = Symbol('a4');
      obj[a3] = 333
      obj[a4] = 444
      console.log('key', Reflect.ownKeys(obj)) // ['a1','a2',Symbol(a3), Symbol(a4)]
      Reflect.ownKeys(obj).forEach(item=>{
        console.log('vlaue', obj[item]) // 111 222 333 444
      })
      
[2]Object.keys()
  • Obeject存在一个keys方法,该方法返回返回对象自身的字符串属性名(键值名)组成的数组,不包含Symbol属性;

  • 语法

    • Object.keys(obj)
      
  • 示例

    • const obj = {
        a1:111,
        a2:222
      }
      let a3 = Symbol('a3');
      let a4 = Symbol('a4');
      obj[a3] = 333
      obj[a4] = 444
      console.log('key', Object.keys(obj)) // ['a1','a2']
      Object.keys(obj).forEach(item=>{
        console.log('vlaue', obj[item]) // 111 222 
      })
      
[3]Object.getOwnPropertySymbols()
  • Object存在一个getOwnPropertySymbols方法,该方法返回返回对象自身的Symbol属性名(键名)组成的数组,不包含字符串属性;

  • 语法

    • Object.getOwnPropertySymbols(obj)
      
  • 示例

    • const obj = {
        a1:111,
        a2:222
      }
      let a3 = Symbol('a3');
      let a4 = Symbol('a4');
      obj[a3] = 333
      obj[a4] = 444
      console.log('key', Object.getOwnPropertySymbols(obj)) // [Symbol(a3), Symbol(a4)]
      Object.getOwnPropertySymbols(obj).forEach(item=>{
        console.log('value', obj[item]) // 333 444
      })
      
获取对象的属性值
  • Obeject存在一个values方法,该方法返回返回对象自身的字符串属性值(键值)组成的数组,不包含Symbol属性值;

  • 语法

    • Object.values(obj)
      
  • 示例

    • const obj = {
        a1:111,
        a2:222
      }
      let a3 = Symbol('a3');
      let a4 = Symbol('a4');
      obj[a3] = 333
      obj[a4] = 444
      console.log('key', Object.values(obj)) // [111,222]
      
获取对象的属性
  • Obeject存在一个entries方法,该方法返回返回对象自身的[属性名,属性值]组成的二位维数组,不包含Symbol属性值;

  • 语法

    • Object.entries(obj)
      
  • 示例

    • const obj = {
        a1:111,
        a2:222
      }
      let a3 = Symbol('a3');
      let a4 = Symbol('a4');
      obj[a3] = 333
      obj[a4] = 444
      console.log('key', Object.entries(obj)) // [["a1", 111], [ "a2", 222]]
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值