js如何遍历对象的属性
时间: 2023-09-01 07:10:14 浏览: 113
在JavaScript中,有几种方法可以用来遍历一个对象的属性。
第一种方法是使用for...in循环,这个循环可以遍历对象的可枚举属性,包括继承的属性。使用这种方法,你可以通过遍历对象的属性名称,来访问属性的值。例如:
```
let obj = {type: 1, keyword: "js"};
for (let key in obj) {
console.log(key, obj[key]);
}
```
这个方法会打印出每个属性的名称和对应的值。但需要注意的是,for...in循环会遍历对象的原型链上的属性,所以可能会包含一些你不希望遍历的属性。
第二种方法是使用Object.getOwnPropertyNames()方法,这个方法返回一个由对象自身属性的名称组成的数组,包括可枚举和不可枚举的属性。你可以使用forEach()方法来遍历这个数组,并通过访问属性的名称来获取属性的值。例如:
```
let obj = {type: 1, keyword: "js"};
Object.getOwnPropertyNames(obj).forEach(key => console.log(key, obj[key]));
```
这个方法可以遍历对象的所有自身属性,不包括继承的属性。
第三种方法是使用Object.getOwnPropertySymbols()方法,这个方法返回一个由对象自身Symbol属性的名称组成的数组。使用这个方法可以遍历对象的Symbol属性,并通过访问属性的名称来获取属性的值。例如:
```
let obj = {type: 1, keyword: "js"};
Object.getOwnPropertySymbols(obj).forEach(key => console.log(key, obj[key]));
```
需要注意的是,这个方法只能遍历Symbol属性,不能遍历非Symbol属性。
最后一种方法是使用Object.entries()方法,这个方法返回一个由对象自身可枚举属性的键值对组成的数组。你可以使用forEach()方法来遍历这个数组,并通过item来获取属性的名称,item来获取属性的值。例如:
```
let obj = {type: 1, keyword: "js"};
Object.entries(obj).forEach(item => console.log(item<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [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_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文