繁体   English   中英

如何访问JS对象属性的值

[英]How to access JS object property's value

我正在尝试从以下 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)推送值而不是名字?

你必须surveys.push(users[user][userData])而不是surveys.push(userData);

这将起作用:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM