您可以使用
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()替代:
var p = { 0: "value1", "b": "value2", key: "value3"};for (var key of Object.keys(p)) { console.log(key + " -> " + p[key])}请注意,使用of
for-of代替
for-in,如果不使用它将在命名属性上返回未定义,并
Object.keys()确保仅使用对象自身的属性,而不使用整个原型链属性
使用新Object.entries()
方法:
注意: Internet Explorer本身不支持此方法。您可以考虑将Polyfill用于较旧的浏览器。
const p = { "p1": "value1", "p2": "value2", "p3": "value3"};for (let [key, value] of Object.entries(p)) { console.log(`${key}: ${value}`);}


