声明一个对象

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

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

遍历对象属性

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

在这里插入图片描述
关于Object.keys()方法
Object.keys() 方法返回一个一个给定对象的自身可枚举属性组成的数组数组属性名的排列顺序和正常循环遍历对象返回顺序一致。

例子

// 简单数组
const arr = ['a', 'b', 'c'];
console.log(Object.keys(arr)); // console: ['0', '1', '2']

// 类数组对象
const obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.keys(obj)); // console: ['0', '1', '2']

// 具有随机顺序的类数组对象
const anObj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.keys(anObj)); // console: ['2', '7', '100']

// getFoo 是一个不可枚举属性
const myObj = Object.create({}, {
  getFoo: {
    value() { return this.foo; }
  }
});
myObj.foo = 1;
console.log(Object.keys(myObj)); // console: ['foo']

遍历对象属性值

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

在这里插入图片描述
关于Object.values()方法
object .values()静态方法返回给定对象自己的可枚举字符串键属性值的数组

例子

const obj = { foo: "bar", baz: 42 };
console.log(Object.values(obj)); // ['bar', 42]

// Array-like object
const arrayLikeObj1 = { 0: "a", 1: "b", 2: "c" };
console.log(Object.values(arrayLikeObj1)); // ['a', 'b', 'c']

// Array-like object with random key ordering
// When using numeric keys, the values are returned in the keys' numerical order
const arrayLikeObj2 = { 100: "a", 2: "b", 7: "c" };
console.log(Object.values(arrayLikeObj2)); // ['b', 'c', 'a']

// getFoo is a non-enumerable property
const myObj = Object.create(
  {},
  {
    getFoo: {
      value() {
        return this.foo;
      },
    },
  },
);
myObj.foo = "bar";
console.log(Object.values(myObj)); // ['bar']

方法二:for/in遍历

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

在这里插入图片描述
注意:该方法继承原型链的所有属性,例如:

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

在这里插入图片描述
上述情况可以使用hasOwnProperty避免:

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

在这里插入图片描述

原文地址:https://blog.csdn.net/qq_41842461/article/details/129257558

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_15769.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注