如何遍历或枚举JavaScript对象?
我有一个如下的JavaScript对象:
var p = {
"p1": "value1",
"p2": "value2",
"p3": "value3"
};
如何遍历p
的所有元素(p1
、p2
、p3
...)并获取它们的键和值?
你可以使用其他人展示的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}`);
}
标签:
笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)