📌  相关文章
📜  循环遍历对象 js - Javascript (1)

📅  最后修改于: 2023-12-03 15:09:52.418000             🧑  作者: Mango

循环遍历对象 - Javascript

在Javascript中,对象是一个非常常见的数据类型。而循环遍历对象也是开发中特别重要的一项操作。本文将介绍Javascript中用于循环遍历对象的3种方法。

1. for...in循环

for...in循环是一种遍历对象属性的快捷方式。它会枚举对象中的所有可枚举属性(包括对象自身属性和继承自原型链的属性),但不包括非可枚举属性。

for (let key in obj) {
  console.log(`${key}: ${obj[key]}`);
}

其中,key表示每个属性的名称,obj[key]表示每个属性的值。

值得注意的是,for...in不能保证属性的顺序,可能导致不同的结果。

2. Object.keys()

Object.keys()方法返回一个由对象所有可枚举属性的属性名组成的数组。

Object.keys(obj).forEach(key => {
  console.log(`${key}: ${obj[key]}`);
});

for...in相比,Object.keys()方法遍历的顺序是固定的。

3. Object.getOwnPropertyNames()

Object.getOwnPropertyNames()方法返回一个由对象所有属性的属性名(不论是否可枚举)组成的数组。

Object.getOwnPropertyNames(obj).forEach(key => {
  console.log(`${key}: ${obj[key]}`);
});

Object.keys()相比,Object.getOwnPropertyNames()可以返回所有属性的属性名,包括非可枚举属性。

总结

以上就是Javascript中循环遍历对象的3种方法。在实际使用中,需要根据不同的需求选择最合适的方法。

  • for...in循环遍历所有可枚举属性,但不能保证属性的顺序。
  • Object.keys()方法返回一个由所有可枚举属性的属性名组成的数组,遍历顺序固定。
  • Object.getOwnPropertyNames()方法返回一个由所有属性的属性名(不论可枚举)组成的数组。