获取对象的属性名称

我想知道JavaScript中是否有任何方法可以像这样遍历一个对象。


for(var i in myObject) {

    // ...

}

但是这样获取每个属性的名称。


for(var i in myObject) {

    separateObj[myObject[i].name] = myObject[i];

}

我似乎在Google上找不到类似的东西。他们说与他们一起传递变量的名称,但这不是我想要实现的选择。


谢谢你的尽心帮助。


MMTTMM
浏览 818回答 3
3回答

扬帆大鱼

使用Object.keys():var myObject = { a: 'c', b: 'a', c: 'b' };var keyNames = Object.keys(myObject);console.log(keyNames); // Outputs ["a","b","c"]Object.keys() 给您一个属于输入对象的属性名称数组。

叮当猫咪

我误解了这个问题:“我能知道对象附加的属性名称吗”,但选择留下答案,因为有些人可能会在此处搜索。不可以,一个对象可以附加到多个属性,因此无法知道其名称。var obj = {a:1};var a = {x: obj, y: obj}obj的名字是什么?您确定不只是想要for循环中的属性名称吗?for (var propName in obj) {  console.log("Iterating through prop with name", propName, " its value is ", obj[propName])}

Helenr

您可以轻松地在对象中进行迭代例如:如果对象是var a = {a:'apple',b:'ball',c:'cat',d:'doll',e:'elephant'};Object.keys(a).forEach(key => {   console.log(key) // returns the keys in an object   console.log(a[key])  // returns the appropriate value })
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript