js遍历对象方法总结

本文介绍了两种JavaScript中遍历对象属性的方法:Object.keys()和for...in...循环。Object.keys()返回一个包含对象自身所有可枚举属性的数组,而for...in...不仅遍历自身属性,还包括继承的可枚举属性。通过实例展示了如何使用这两种方法,并在for...in...中添加了条件判断来处理特定属性。
摘要由CSDN通过智能技术生成

我是在回显问题上,需要使用到遍历对象,记录下;

let obj = {
        a: 1,
        b: true,
        c: "hello",
      };

方法一:通过Object.keys(obj)遍历返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性).

Object.keys(obj).forEach(function (key) {
        console.log(key);  // a  b   c 
        console.log( obj[key]);  //  1  true  hello
      });

方法二:通过for…in… 遍历循环遍历对象自身的和继承的可枚举属性(不含Symbol属性).

for (let key in obj) {
        console.log(key)   // a  b   c 
        console.log(obj[key])  // 1  true  hello
        if (key == "a") {
          console.log(key);  // a 
          console.log(obj[key]);  // 1  
        }
      }

转载于:https://juejin.im/post/5cb0a3bb6fb9a068691ca9ee

JavaScript遍历对象属性的方法有多种。其中,常用的方法有: 1. 使用for...in循环:for...in可以遍历对象的可枚举属性,包括型链上的属性。可以通过判断hasOwnProperty方法来过滤掉型链上的属性。例如: ```javascript let obj = {type: 1, keyword: "js"}; for (let key in obj) { if (obj.hasOwnProperty(key)) { console.log(key, obj[key]); } } ``` 2. 使用Object.keys()方法:Object.keys()返回一个由对象的可枚举属性组成的数组。可以遍历对象的可枚举属性,不包括型链上的属性。例如: ```javascript let obj = {type: 1, keyword: "js"}; Object.keys(obj).forEach(key => console.log(key, obj[key])); ``` 3. 使用Object.getOwnPropertyNames()方法:Object.getOwnPropertyNames()返回一个由对象的所有属性(包括可枚举和不可枚举属性)组成的数组。可以遍历对象的所有属性,不包括型链上的属性。例如: ```javascript let obj = {type: 1, keyword: "js"}; Object.getOwnPropertyNames(obj).forEach(key => console.log(key, obj[key])); ``` 4. 使用Object.getOwnPropertySymbols()方法:Object.getOwnPropertySymbols()返回一个由对象的所有Symbol属性组成的数组。只能遍历对象的Symbol属性,不包括其他非Symbol属性。例如: ```javascript let obj = {type: 1, keyword: "js"}; Object.getOwnPropertySymbols(obj).forEach(key => console.log(key, obj[key])); ``` 这些方法可以根据需要选择使用,以实现对对象属性的遍历。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [JS遍历对象属性的7种方式](https://blog.csdn.net/weixin_40895135/article/details/126584088)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [JS——遍历对象方法总结](https://blog.csdn.net/weixin_49392771/article/details/123354161)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值