1 回答

TA貢獻1829條經(jīng)驗 獲得超7個贊
您需要在代碼中修復一些問題。
首先,當使用變量名作為從對象中提取的鍵時, user?obj[varName]
,而不是obj.varName
。
另外,您正在嘗試循環(huán)一個對象,而不是一個數(shù)組。要循環(huán)遍歷按鍵,請使用Object.keys()
將這兩件事結(jié)合起來,您將獲得所需的結(jié)果,正如您在這段代碼中看到的那樣。另外,對于將來的問題,我強烈建議您自己制作一個片段。
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))
添加回答
舉報