检索javascript对象项的字符串值

检索javascript对象项的字符串值,javascript,Javascript,假设我有一个对象,如下所示: var myObj = {FOO: 0, BAR: 1}; 如何获取其中一个键的字符串值 如果我做了一件事: console.log(myObj.FOO); 它将打印0,而我想打印“FOO” 如何实现这一点?要显示属性名称,可以循环查看它们: for (name in obj) { alert("This is the key: " + name); alert("This is the value: " + obj[name]); } 您可以使用Ob

假设我有一个对象,如下所示:

var myObj = {FOO: 0, BAR: 1};
如何获取其中一个键的字符串值

如果我做了一件事:

console.log(myObj.FOO);
它将打印0,而我想打印“FOO”


如何实现这一点?

要显示属性名称,可以循环查看它们:

for (name in obj) {
  alert("This is the key: " + name);
  alert("This is the value: " + obj[name]);
}

您可以使用Object.keys方法。以下返回FOO:

Object.keys(myObj)[0];
有关Object.keys的详细信息:


可以通过循环记录对象属性名称

var myObj = { FOO : 0, BAR : 1 };

for( var propertyName in myObj ) {

    console.log( propertyName );

}
或者,可以使用object.getOwnPropertyNames检索0索引数组上的对象属性名称

或者,也可以使用Object.keys获得与上述相同的结果


你已经知道键是FOO了,为什么不只记录FOO呢?你用来访问对象属性的键实际上已经是字符串值了。你想要的是键,而不是值。虽然你可能永远不会被它咬到,这些键的顺序取决于实现,甚至不能保证以相同的顺序返回,尽管它们可能会以相同的顺序返回。
var myObj = { FOO : 0, BAR : 1 };

var propertyNames = Object.getOwnPropertyNames( myObj );

console.log( propertyNames[ 0 ] ); //This shold log "FOO"
var myObj = { FOO : 0, BAR : 1 };

var propertyNames = Object.keys( myObj );

console.log( propertyNames[ 0 ] ); //This shold log "FOO"