📅  最后修改于: 2023-12-03 15:09:52.418000             🧑  作者: Mango
在Javascript中,对象是一个非常常见的数据类型。而循环遍历对象也是开发中特别重要的一项操作。本文将介绍Javascript中用于循环遍历对象的3种方法。
for...in
循环是一种遍历对象属性的快捷方式。它会枚举对象中的所有可枚举属性(包括对象自身属性和继承自原型链的属性),但不包括非可枚举属性。
for (let key in obj) {
console.log(`${key}: ${obj[key]}`);
}
其中,key
表示每个属性的名称,obj[key]
表示每个属性的值。
值得注意的是,for...in
不能保证属性的顺序,可能导致不同的结果。
Object.keys()
方法返回一个由对象所有可枚举属性的属性名组成的数组。
Object.keys(obj).forEach(key => {
console.log(`${key}: ${obj[key]}`);
});
与for...in
相比,Object.keys()
方法遍历的顺序是固定的。
Object.getOwnPropertyNames()
方法返回一个由对象所有属性的属性名(不论是否可枚举)组成的数组。
Object.getOwnPropertyNames(obj).forEach(key => {
console.log(`${key}: ${obj[key]}`);
});
与Object.keys()
相比,Object.getOwnPropertyNames()
可以返回所有属性的属性名,包括非可枚举属性。
以上就是Javascript中循环遍历对象的3种方法。在实际使用中,需要根据不同的需求选择最合适的方法。
for...in
循环遍历所有可枚举属性,但不能保证属性的顺序。Object.keys()
方法返回一个由所有可枚举属性的属性名组成的数组,遍历顺序固定。Object.getOwnPropertyNames()
方法返回一个由所有属性的属性名(不论可枚举)组成的数组。