如何获取对象中键值对的列表?

Lei*_*mon 21 javascript

可能重复:
获取键/值javascript对象的键的最佳方法

foo = {bar:"baz"}

你如何获得foo中所有属性和值的列表?

sac*_*een 42

一个for in循环可以给你的键和值.

for(p in foo) {
    console.log (p, foo[p])
}
Run Code Online (Sandbox Code Playgroud)

从控制台:

foo = {bar: "baz"}

Object
bar: "baz"
__proto__: Object

for(p in foo) { console.log (p, foo[p]) }
> bar baz
Run Code Online (Sandbox Code Playgroud)

如果您正在循环的对象具有从其原型继承的属性,则可以使用如下Object.hasOwnProperty()函数阻止继承的属性循环:

for(p in foo) {
    if (foo.hasOwnProperty(p)) {
        console.log (p, foo[p])
    }
}
Run Code Online (Sandbox Code Playgroud)