1 回答
TA贡献1829条经验 获得超7个赞
您需要在代码中修复一些问题。
首先,当使用变量名作为从对象中提取的键时, user obj[varName]
,而不是obj.varName
。
另外,您正在尝试循环一个对象,而不是一个数组。要循环遍历按键,请使用Object.keys()
将这两件事结合起来,您将获得所需的结果,正如您在这段代码中看到的那样。另外,对于将来的问题,我强烈建议您自己制作一个片段。
const jsonOriginal = {
"sport" : {
"tennis": "5",
"running": "4",
"swimming": "5"
},
"study" : {
"history" : "0"
}
}
const reduceUserPreferences = (data) => {
let userPreferences = {};
Object.keys(data).forEach(category => {
Object.keys(data[category]).forEach(preference => {
category_preference_name = category + "_" + preference;
const preferenceValue = data[category][preference].trim();
if (preferenceValue !== '') userPreferences[category_preference_name] = preferenceValue;
});
});
return userPreferences;
};
console.log(reduceUserPreferences(jsonOriginal))
添加回答
举报