如何在 javascript 对象中获取一个属性名称?

hh5*_*188 0 javascript properties object

可能的重复:
从 Javascript 对象中选择随机属性

假设我有一个 javascript 对象:

Config.UI.Area = {
        "uuid": {
            "_type": "string"
        },
        "frame": {
            "_type": "rect"
        },
        "zIndex": {
            "_type": "string"
        }
 }
Run Code Online (Sandbox Code Playgroud)

然后我想通过使用 for 循环获取每个属性的名称,例如“uuid”、“frame”、“zIndex”:

var prop=config.ui.area;
var arr=new Array()
for(var i in prop){
    //do something with prop[i]?
    //arr.push(prop[i].....)?
}
Run Code Online (Sandbox Code Playgroud)

我不能直接使用 prop[i],它会返回一个对象,我怎么能得到它的名字?

Koo*_*Inc 5

这将为您提供一组属性名称

for(var name in prop){
    //do something with prop[name]?
    arr.push(name);
}
Run Code Online (Sandbox Code Playgroud)

它还会为您提供 Object 对象的“本机”属性的名称。为避免这种情况,请使用以下 hasOwnProperty 方法:

for(var name in prop){
    if (prop.hasOwnPropery(name) {
     arr.push(name);
    }
}
Run Code Online (Sandbox Code Playgroud)