欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js遍历对象的几种方法

程序员文章站 2022-04-10 12:32:48
...

第一种: for…in

const obj = {
            id:1,
            name:'zhangsan',
            age:18
}

 for(let key  in obj){
        console.log(key + '---' + obj[key])
  }

输出结果:

第二种:

1)、Object.keys(obj)

2)、Object.values(obj)

参数:

obj:要返回其枚举自身属性的对象

返回值:

一个表示给定对象的所有可枚举属性的字符串数组。

const obj = {
    id:1,
    name:'zhangsan',
    age:18
}

 console.log(Object.keys(obj))

console.log(Object.values(obj))

输出结果: obj对象的key组成的数组

[‘id’,‘name’,‘age’]

输出结果:obj对象的value组成的数组

[‘1’,‘zhangsan’,‘18’]

第三种:使用Object.getOwnPropertyNames(obj)

返回一个数组,包含对象自身的所有属性(包含不可枚举属性)
遍历可以获取key和value

const obj = {
            id:1,
            name:'zhangsan',
            age:18
    }
    Object.getOwnPropertyNames(obj).forEach(function(key){
        console.log(key+ '---'+obj[key])
    })

使用Object.keys方法将对象的键名生成一个数组,然后遍历这个数组

for (var key of Object.keys(someObject)) {
  console.log(key + ': ' + someObject[key]);
}

使用 Generator 函数将对象重新包装一下

function* entries(obj) {
  for (let key of Object.keys(obj)) {
    yield [key, obj[key]];
  }
}

for (let [key, value] of entries(obj)) {
  console.log(key, '->', value);
}
// a -> 1
// b -> 2
// c -> 3
相关标签: 对象