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

获取对象的属性名称

获取对象的属性名称

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

3 回答

?
扬帆大鱼

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

使用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-10-25
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

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


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


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-10-25
?
Helenr

TA贡献1780条经验 获得超4个赞

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


例如:如果对象是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-10-25
  • 3 回答
  • 0 关注
  • 817 浏览
慕课专栏
更多

添加回答

举报

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