js 中 object循环
1. 使用for...in循环
for...in语句在一个对象的所有可枚举属性上迭代。
let obj = {a:1, b:2, c:3};
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(key, obj[key]);
}
}
2. 使用Object.keys()
Object.keys()方法会返回一个由一个对象自身可枚举属性组成的数组,数组中属性名的排列顺序和使用for...in循环遍历该对象时返回的顺序一致。
let obj = {a:1, b:2, c:3};
Object.keys(obj).forEach((key) => {
console.log(key, obj[key]);
});
3. 使用Object.entries()
Object.entries()方法会返回一个给定对象自身可枚举属性的键值对数组。
let obj = {a:1, b:2, c:3};
Object.entries(obj).forEach(([key, value]) => {
console.log(key, value);
});
4. 使用Object.getOwnPropertyNames()
Object.getOwnPropertyNames()方法返回一个数组,包含对象自身所有属性的名称(包括不可枚举属性)。
let obj = {a:1, b:2, c:3};
Object.getOwnPropertyNames(obj).forEach((key) => {
console.log(key, obj[key]);
});