深圳幻海软件技术有限公司 欢迎您!

如何在 JavaScript 中遍历对象

2023-03-03

在JavaScript中,你可以使用以下几种方法来遍历对象:for...in循环:for...in循环用于遍历对象的属性。例如:constobj={a:1,b:2,c:3}for(constkeyinobj){console.log(key,obj[key])}for...in 循环遍历原

在 JavaScript 中,你可以使用以下几种方法来遍历对象:

  1. for...in 循环:for...in 循环用于遍历对象的属性。例如:
const obj = {a: 1, b: 2, c: 3}
for (const key in obj) {
  console.log(key, obj[key])
}

for...in 循环遍历原型链中的属性。这意味着每当我们使用 for...in 循环遍历一个对象时,我们都需要使用 hasOwnProperty 检查该属性是否属于该对象:

const obj = {a: 1, b: 2, c: 3}
for (const key in obj) {
  if (obj.hasOwnProperty(key)) {
    console.log(`${key}: ${obj[key]}`);
  }
}
  1. Object.keys() 方法:Object.keys() 方法返回一个包含对象所有可枚举属性名称的数组。例如:
const obj = {a: 1, b: 2, c: 3}
const keys = Object.keys(obj)
for (const key of keys) {
  console.log(key, obj[key])
}
  1. Object.entries() 方法:Object.entries() 方法返回一个包含对象所有可枚举属性键值对的数组。例如:
const obj = {a: 1, b: 2, c: 3}
const entries = Object.entries(obj)
for (const [key, value] of entries) {
  console.log(key, value)
}
  1. Object.getOwnPropertyNames() 方法:Object.getOwnPropertyNames() 方法返回一个包含对象所有属性名称的数组(包括不可枚举属性)。例如:
const obj = {a: 1, b: 2, c: 3}
const keys = Object.getOwnPropertyNames(obj)
for (const key of keys) {
  console.log(key, obj[key])
}

通过这些方法,你就可以在 JavaScript 中正确地遍历对象的属性了。