Как получить доступ к JS значению свойства объекта - PullRequest
0 голосов
/ 30 января 2020

Я пытаюсь получить значение опроса из следующего объекта javascript:

[{
    "id": "RJLGscviug-dg3zqAAAa",
    "name": "john",
    "room": "dormitory",
    "survey": {"Q1":"A","Q2":"B","Q3":"C"}"
}]

Однако оператор консоли в моей функции возвращает «опрос» вместо значения опроса, которое объект. Вот код, который я использую:

    const getAllSurveys = (users) => {
      var surveys = [];
      for(var user of Object.keys(users)){
        for (var userData of Object.keys(users[user])) {
          if(userData == "survey"){
            console.log(userData);
            surveys.push(userData);
          }
        }
      }
      return surveys;
    }

Как мне получить surveys.push(userData) в pu sh значение, а не имя?

Ответы [ 2 ]

0 голосов
/ 30 января 2020

Это будет работать:

const data = [{
    "id": "RJLGscviug-dg3zqAAAa",
    "name": "john",
    "room": "dormitory",
    "survey": {"Q1":"A","Q2":"B","Q3":"C"}
}];

const getAllSurveys = (users) => {
  return users.reduce((a, c) => {
    const userSurveys = Object.keys(c.survey).map(q => c.survey[q]);
    return a.concat(userSurveys);
  }, []);
};

console.log(getAllSurveys(data));
0 голосов
/ 30 января 2020

Вы должны surveys.push(users[user][userData]) вместо surveys.push(userData);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...