js 循环获取对象属性

在JavaScript中,要循环获取对象的属性,通常可以使用for...in循环或者使用Object.keys()、Object.entries()等方法。下面是几种常见的做法:

使用 for...in 循环
for...in循环可以遍历对象的所有可枚举属性(包括继承的属性)。

let obj = {a: 1, b: 2, c: 3};

for(let prop in obj) {
    if(obj.hasOwnProperty(prop)) { // 确保只访问实例上的属性,不包括继承的
        console.log("属性名: " + prop + ", 属性值: " + obj[prop]);
    }
}
使用 Object.keys()

Object.keys()返回一个包含对象自身可枚举属性名称的数组,然后你可以遍历这个数组。

let obj = {a: 1, b: 2, c: 3};
let keys = Object.keys(obj);

for(let i = 0; i < keys.length; i++) {
    console.log("属性名: " + keys[i] + ", 属性值: " + obj[keys[i]]);
}
使用 Object.entries()

Object.entries()返回一个数组,数组中的每个元素都是一个 [key, value] 数组,这样可以直接解构获取键值对。

let obj = {a: 1, b: 2, c: 3};
let entries = Object.entries(obj);

for(let [key, value] of entries) {
    console.log("属性名: " + key + ", 属性值: " + value);
}

选择哪种方法取决于你的具体需求,比如是否需要考虑原型链上的属性,或者是否希望直接以[key, value]对的形式处理属性等。


                        
原文链接:https://blog.csdn.net/qq_33240556/article/details/140643193

你可能感兴趣的:(JavaScript,javascript)