例如有这么一个对象:

let obj = {
    name: \'Kamen\',
    age: \'23\',
    hobby: \'eat eat eat\'
  }

方法一:转化为操作数组forEach遍历

//遍历对象属性
 .keys(obj).forEach(key => {
    console.log(key)
  })

\"\"

关于 .keys()方法可以参考以下链接
https://developer.mozilla.org/zh-CN/docs/Web/ /Reference/Global_ s/ /keys

//遍历对象属性值
 .values(obj).forEach(val => {
  console.log(val)
})

\"\"

关于 .values()方法可以参考以下链接
https://developer.mozilla.org/en-US/docs/Web/ /Reference/Global_ s/ /values

方法二:for/in遍历

for( let key in obj ){
    //遍历对象属性
    console.log(key)
    //遍历对象属性值
    console.log(obj[key])
  }

\"\"
注意:该方法会继承原型链的所有属性,例如:

 .prototype.pet = \'open\'
for( let key in obj ){
  console.log(key)
  console.log(obj[key])
}
console.log(obj)

\"![\"
上述情况可以使用hasOwnProperty避免:

 .prototype.pet = \'open\'
  for( let key in obj ){
    if (obj.hasOwnProperty(key) === true){
      console.log(key)
      console.log(obj[key])
    }
  }
  console.log(obj)

\"!\"

收藏 打印