js遍历对象的key和value
时间: 2023-10-14 22:25:58 浏览: 90
js中遍历对象的属性和值的方法
5星 · 资源好评率100%
有多种方式可以遍历JavaScript对象的键值对。以下是其中的一些常见方法:
1. for...in循环
使用for...in循环可以遍历对象的所有可枚举属性,包括原型链中的属性。
```javascript
const obj = { a: 1, b: 2, c: 3 };
for (let key in obj) {
console.log(key + ': ' + obj[key]);
}
```
输出:
```
a: 1
b: 2
c: 3
```
2. Object.keys()方法
Object.keys()方法返回一个包含对象自身所有可枚举属性的键的数组。可以使用数组的forEach()方法来遍历键值对。
```javascript
const obj = { a: 1, b: 2, c: 3 };
Object.keys(obj).forEach(function(key) {
console.log(key + ': ' + obj[key]);
});
```
输出:
```
a: 1
b: 2
c: 3
```
3. Object.entries()方法
Object.entries()方法返回一个包含对象自身所有可枚举属性的键值对的数组。可以使用数组的forEach()方法来遍历键值对。
```javascript
const obj = { a: 1, b: 2, c: 3 };
Object.entries(obj).forEach(function([key, value]) {
console.log(key + ': ' + value);
});
```
输出:
```
a: 1
b: 2
c: 3
```
4. Object.getOwnPropertyNames()方法
Object.getOwnPropertyNames()方法返回一个包含对象自身所有属性(包括不可枚举属性)的键的数组。可以使用数组的forEach()方法来遍历键值对。
```javascript
const obj = { a: 1, b: 2, c: 3 };
Object.getOwnPropertyNames(obj).forEach(function(key) {
console.log(key + ': ' + obj[key]);
});
```
输出:
```
a: 1
b: 2
c: 3
```
需要注意的是,以上方法只能遍历对象自身的属性,无法遍历原型链中的属性。如果需要遍历原型链中的属性,可以使用for...in循环或者Object.getOwnPropertyNames()方法结合Object.getPrototypeOf()方法来实现。
阅读全文