为了账号安全,请及时绑定邮箱和手机立即绑定

获取对象的属性名称

获取对象的属性名称

Helenr 2019-12-11 13:09:08
我想知道JavaScript中是否有任何方法可以像这样遍历一个对象。for(var i in myObject) {    // ...}但是这样获取每个属性的名称。for(var i in myObject) {    separateObj[myObject[i].name] = myObject[i];}我似乎在Google上找不到类似的东西。他们说与他们一起传递变量的名称,但这不是我想要实现的选择。谢谢你的尽心帮助。
查看完整描述

3 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

使用Object.keys():


var myObject = { a: 'c', b: 'a', c: 'b' };

var keyNames = Object.keys(myObject);

console.log(keyNames); // Outputs ["a","b","c"]

Object.keys() 给您一个属于输入对象的属性名称数组。



查看完整回答
反对 回复 2019-12-12
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

我误解了这个问题:“我能知道对象附加的属性名称吗”,但选择留下答案,因为有些人可能会在此处搜索。


不可以,一个对象可以附加到多个属性,因此无法知道其名称。


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])

}




查看完整回答
反对 回复 2019-12-12
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

您可以轻松地在对象中进行迭代


例如:如果对象是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 

})



查看完整回答
反对 回复 2019-12-12
  • 3 回答
  • 0 关注
  • 297 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信