循环时从对象获取键值

时间:2018-08-30 11:05:16

标签: javascript object foreach

我迷失了从每个人身上得到的高度值:

[object Object] {
  Adam: [object Object] {
    height: 192,
    weight: 101
  },
  Grant: [object Object] {
    height: 171,
    weight: 79
  }
}

我只是不断变得不确定或打印出名字。

  const personData = data
  Object.keys(personData).forEach((person, index) => {
    console.log(person)
  })

上面只是控制台登录名称,person[0]给了我每个名称的首字母,而我的其他尝试都未定义。

如何导航到正确的值和键?

2 个答案:

答案 0 :(得分:1)

之所以会这样,是因为您要遍历对象的根。身高,体重等细节位于更深层次的子对象中。

您将需要遍历对象的值(而不是其键),然后深入了解height属性:

Object.values(personData).forEach((person, index) => {
    console.log('Height = '+person.height);
    //if you need to access the person name too...
    console.log('Person = '+Object.keys(personData)[index]);
})

答案 1 :(得分:0)

您正在遍历对象的键。在这种情况下,“亚当”和“格兰特”。您要做的就是使用这些键访问对象-那就是您的人:

const personData = data
Object.keys(personData).forEach((name, index) => {
    console.log(personData[name])
})