js中如何遍历对象
原创JS中怎样遍历对象
在JavaScript中,遍历对象是一个非常常见的操作。有多种做法可以实现这一目的,下面将介绍几种重点的遍历对象的方法。
1. for...in循环
for...in循环是遍历对象属性的一种方法,它会遍历对象所有可枚举的属性,包括原型链上的属性。
const obj = {
name: '张三',
age: 30,
gender: '男'
};
for (let key in obj) {
if (obj.hasOwnProperty(key)) { // 过滤掉原型链上的属性
console.log(key + ': ' + obj[key]);
}
}
2. Object.keys()配合forEach
Object.keys()方法返回一个包含所有给定对象自身可枚举属性名称的数组。然后可以使用Array的forEach方法进行遍历。
const obj = {
name: '张三',
age: 30,
gender: '男'
};
Object.keys(obj).forEach(function(key) {
console.log(key + ': ' + obj[key]);
});
3. Object.keys()配合for循环
除了使用forEach,也可以使用普通的for循环遍历Object.keys()返回的数组。
const obj = {
name: '张三',
age: 30,
gender: '男'
};
const keys = Object.keys(obj);
for (let i = 0; i < keys.length; i++) {
console.log(keys[i] + ': ' + obj[keys[i]]);
}
4. Object.entries()
Object.entries()方法返回一个数组,其元素是与直接在对象上找到的可枚举属性键值对对应的数组。可以使用forEach或者for循环遍历这个数组。
const obj = {
name: '张三',
age: 30,
gender: '男'
};
Object.entries(obj).forEach(function([key, value]) {
console.log(key + ': ' + value);
});
总结
以上就是JavaScript中遍历对象的几种常见方法。采取不同的应用场景,可以选择最适合的方法进行对象遍历。