首页 > web前端 > js教程 > 正文

js对象遍历属性

尊渡假赌尊渡假赌尊渡假赌
发布: 2025-11-08 12:50:02
原创
650人浏览过
答案:JavaScript中遍历对象属性的方法有多种,需根据是否遍历继承属性、可枚举性及Symbol类型来选择。1. for...in循环可遍历自身和继承的可枚举属性,配合hasOwnProperty可过滤继承属性;2. Object.keys()返回自身可枚举的字符串键数组,不包含继承属性和Symbol键;3. Object.values()获取自身可枚举属性值;4. Object.entries()返回键值对数组,支持解构,适合同时使用键和值;5. Object.getOwnPropertyNames()包含自身所有属性名,包括不可枚举属性,但不包括Symbol;6. Object.getOwnPropertySymbols()专门获取Symbol类型属性;7. Reflect.ownKeys()最全面,包含所有自身属性键(字符串、Symbol、可枚举与不可枚举)。日常开发中常用Object.keys和for...in,处理复杂场景时推荐Object.entries和Reflect.ownKeys。

js对象遍历属性

在JavaScript中,遍历对象的属性有多种方式,具体选择取决于你的需求,比如是否需要遍历可枚举属性、是否包括继承属性、是否处理Symbol类型等。以下是几种常用的方法:

1. for...in 循环

作用:遍历对象自身和继承的可枚举属性(包括字符串键和数字键)。

注意:不推荐用于数组,适合普通对象。

const obj = { a: 1, b: 2 };
for (let key in obj) {
  if (obj.hasOwnProperty(key)) {
    console.log(key, obj[key]);
  }
}

使用 hasOwnProperty 可以过滤掉继承属性。

2. Object.keys()

作用:返回对象自身所有可枚举的字符串键属性名组成的数组。

适合用于只关心自有属性的场景。

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

不会包含继承属性,也不会包含Symbol键。

3. Object.values()

获取对象自身所有可枚举属性的值。

Object.values(obj).forEach(value => {
  console.log(value);
});

4. Object.entries()

返回键值对数组,适合同时使用键和值。

UP简历
UP简历

基于AI技术的免费在线简历制作工具

UP简历 128
查看详情 UP简历

Object.entries(obj).forEach(([key, value]) => {
  console.log(key, value);
});

支持解构,代码更清晰。

5. Object.getOwnPropertyNames()

获取对象自身所有属性名,包括不可枚举属性(但不包括Symbol)。

Object.getOwnPropertyNames(obj).forEach(key => {
  console.log(key);
});

比 Object.keys() 更全面,包含不可枚举属性。

6. Object.getOwnPropertySymbols()

获取对象自身的Symbol类型属性。

const sym = Symbol('test');
obj[sym] = 'symbol value';
Object.getOwnPropertySymbols(obj).forEach(sym => {
  console.log(sym, obj[sym]);
});

7. Reflect.ownKeys()

返回对象自身所有属性键,包括字符串、Symbol、可枚举和不可枚举的。

Reflect.ownKeys(obj).forEach(key => {
  console.log(key, obj[key]);
});

最完整的遍历方式,推荐用于需要全面访问属性的场景。

基本上就这些方法,根据实际需求选择即可。日常开发中,Object.keys 和 for...in 最常用,处理现代数据结构时可以优先考虑 Object.entries 和 Reflect.ownKeys。

以上就是js对象遍历属性的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号