如何遍历或枚举JavaScript对象?

内容来自 DOC https://q.houxu6.top/?s=如何遍历或枚举JavaScript对象?

我有一个如下的JavaScript对象:

var p = {
    "p1": "value1",
    "p2": "value2",
    "p3": "value3"
};

如何遍历p的所有元素(p1p2p3...)并获取它们的键和值?


你可以使用其他人展示的for-in循环。然而,你还必须确保你获得的键实际上是对象的属性,而不是来自原型的属性。

这里是代码片段:

var p = {
    "p1": "value1",
    "p2": "value2",
    "p3": "value3"
};

for (var key in p) {
    if (p.hasOwnProperty(key)) {
        console.log(key + " -> " + p[key]);
    }
}

使用Object.keys()的for-of替代方案:

var p = {
    0: "value1",
    "b": "value2",
    key: "value3"
};

for (var key of Object.keys(p)) {
    console.log(key + " -> " + p[key])
}

请注意,如果不使用它,在命名属性上将返回undefined,并且Object.keys()确保只使用对象自己的属性,而不包括整个原型链属性。

使用新的Object.entries()方法:

注意:此方法在Internet Explorer中不受支持。您可能需要考虑为旧浏览器使用Polyfill。

const p = {
    "p1": "value1",
    "p2": "value2",
    "p3": "value3"
};

for (const [key, value] of Object.entries(p)) {
  console.log(`${key}: ${value}`);
}

posted @   小满独家  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示