Получить значение ключа из объекта во время цикла - PullRequest
0 голосов
/ 30 августа 2018

Я теряюсь при получении значения роста от этого объекта для каждого человека:

[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 голосов
/ 30 августа 2018

Вы перебираете ключи объекта. В данном случае «Адам» и «Грант». Что вы хотите сделать, это использовать эти ключи для доступа к объекту - и это ваша личность:

const personData = data
Object.keys(personData).forEach((name, index) => {
    console.log(personData[name])
})
0 голосов
/ 30 августа 2018

Это происходит потому, что вы перебираете корень объекта. Детали роста, веса и т. Д. Живут в подобъектах на более глубоком уровне.

Вам нужно будет перебрать значения объекта, а не его ключей, а затем немного углубиться, чтобы извлечь свойство 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]);
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...