![](/img/trans.png)
[英]JS : How to change the value of an object's property according to that object attribute
[英]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.