第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在nodejs中為JSON對象創(chuàng)建嵌套循環(huán)

在nodejs中為JSON對象創(chuàng)建嵌套循環(huán)

幕布斯7119047 2023-11-02 22:32:27
我從用戶那里獲取他對 json 代碼中某些類別的偏好,例如:{    "sport" : {        "tennis": "5",        "running": "4",        "swimming": "5"    },    "study" : {        "history" : "0"    } }我希望為每個首選項在“userPreferences”對象中創(chuàng)建自己的字段。這是我寫下的代碼,但我看不出這里的錯誤是什么exports.reduceUserPreferences = (data) => {  let userPreferences = {};  data.forEach(category => {    category.forEach(preference => {      category_preference_name = category.string + "_" + preference.string;      if (!isEmpty(preference.trim())) userPreferences.category_preference_name = preference;    });  });   //if (!isEmpty(data.tennis.trim())) userPreferences.sport_tennis = data.tennis;  //if (!isEmpty(data.swimming.trim())) userPreferences.sport_swimming = data.swimming;  //if (!isEmpty(data.running.trim())) userPreferences.sport_running = data.running;  //if (!isEmpty(data.history.trim())) userPreferences.study_history = data.history;   return userPreferences;}; 我希望“”對象具有所有首選項的字段以及它們所屬的類別。我不明白我做錯了什么,我在這段代碼上徘徊了幾個小時。添加示例我有另一個與這個函數(shù)類似的函數(shù),輸入相似,輸出相似。例如輸入:{    "bio": "hello there",    "website": "",    "location": "los angles"}示例函數(shù):exports.reduceUserDetails = (data) => {  let userDetails = {};   if (!isEmpty(data.bio.trim())) userDetails.bio = data.bio;  if (!isEmpty(data.website.trim())) {    // https://website.com    if (data.website.trim().substring(0, 4) !== 'http') {      userDetails.website = `http://${data.website.trim()}`;    } else userDetails.website = data.website;  }  if (!isEmpty(data.location.trim())) userDetails.location = data.location;   return userDetails;}; 輸出將是: 一個具有所有首選項屬性及其值的對象。我正在尋找?guī)в星短籽h(huán)的示例,但找不到。
查看完整描述

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


查看完整回答
反對 回復 2023-11-02
  • 1 回答
  • 0 關(guān)注
  • 219 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號