前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >JS中遍历对象的方法讲解

JS中遍历对象的方法讲解

原创
作者头像
肥晨
发布2023-06-27 09:25:08
发布2023-06-27 09:25:08
50200
代码可运行
举报
文章被收录于专栏:农民工前端农民工前端
运行总次数:0
代码可运行

在JavaScript中,有几种常用的方法可以用来遍历对象:

for...in循环

使用for...in循环可以遍历一个对象中的所有可枚举属性。它会将属性名逐个赋值给循环变量,并执行循环体内的代码。

例如:

代码语言:javascript
代码运行次数:0
复制
for (let key in obj) {
  console.log(key, obj[key]);
}

当使用for...in循环遍历对象时,需要注意以下几点:

  1. for...in循环会遍历对象自身的可枚举属性以及继承的可枚举属性。如果只想遍历对象自身的属性,可以通过hasOwnProperty()方法来判断属性是否为对象自身的属性。
代码语言:javascript
代码运行次数:0
复制
for (let key in obj) {
  if (obj.hasOwnProperty(key)) {
    console.log(key, obj[key]);
  }
}
  1. 在遍历过程中,属性名会被赋值给循环变量。如果需要获取属性值,可以通过对象和属性名使用下标访问的方式来获取属性值。
代码语言:javascript
代码运行次数:0
复制
for (let key in obj) {
  console.log(key, obj[key]);
}
  1. 使用for...in循环遍历对象时,无法保证属性遍历的顺序。对象的属性在内部存储时是没有固定顺序的,因此遍历顺序不一定与属性定义的顺序相同。
  2. Object.keys()和Object.getOwnPropertyNames()方法只会返回对象自身的属性(包括可枚举和不可枚举属性),而不会返回继承的属性。你可以选择其中一种方法根据需要遍历对象的属性。

Object.keys()方法结合forEach()循环

Object.keys(obj)会返回一个包含对象自身可枚举属性的数组。我们可以使用forEach()方法来遍历这个数组,并对每个属性进行操作。

例如:

代码语言:javascript
代码运行次数:0
复制
Object.keys(obj).forEach(function(key) {
  console.log(key, obj[key]);
});

Object.entries()结合forEach()循环

Object.entries(obj)会返回一个包含对象自身可枚举属性的键值对数组。我们可以使用forEach()方法来遍历这个数组,并对每个键值对进行操作。

例如:

代码语言:javascript
代码运行次数:0
复制
Object.entries(obj).forEach(function([key, value]) {
  console.log(key, value);
});

Object.getOwnPropertyNames()方法结合forEach()循环

Object.getOwnPropertyNames(obj)会返回一个包含对象自身所有属性(不仅限于可枚举)的数组。我们可以使用forEach()方法来遍历这个数组,并对每个属性进行操作。例如:

代码语言:javascript
代码运行次数:0
复制
Object.getOwnPropertyNames(obj).forEach(function(key) {
  console.log(key, obj[key]);
});

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • for...in循环
    • 当使用for...in循环遍历对象时,需要注意以下几点:
  • Object.keys()方法结合forEach()循环
  • Object.entries()结合forEach()循环
  • Object.getOwnPropertyNames()方法结合forEach()循环
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档