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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何將對(duì)象的對(duì)象組合成單個(gè)對(duì)象 Angular

如何將對(duì)象的對(duì)象組合成單個(gè)對(duì)象 Angular

慕神8447489 2023-10-20 16:21:04
您好,我有一個(gè)對(duì)象的對(duì)象,我需要合并到單個(gè)對(duì)象中,下面是對(duì)象的對(duì)象:{  0: {    CLIENTS_EMAIL: null  }  1: {    CLIENTS_PASSWORD: null  }  2: {    CLIENTS_CONFIRMPASSWORD: null  }  3: {    CLIENTS_FIRSTNAME: null  }  4: {    CLIENTS_LASTNAME: null  }  5: {    CLIENTS_MOBILE: null  }  6: {    CLIENTS_HOMEPHONE: null  }  7: {    CLIENTS_BUSPHONE: null  }  8: {    CLIENTS_RECEIVE_MARKETING_VIA: [      0: {        CLIENTS_ISMARKETINGVIAEMAIL: false      }      1: {        CLIENTS_ISMARKETINGVIAMAIL: false      }      2: {        CLIENTS_ISMARKETINGVIAPHONE: false      }      3: {        CLIENTS_ISMARKETINGVIASMS: false      }    ]  }}您好,我有一個(gè)對(duì)象的對(duì)象,我需要合并到單個(gè)對(duì)象中,下面是對(duì)象的對(duì)象:{  0: {    CLIENTS_EMAIL: null  }  1: {    CLIENTS_PASSWORD: null  }  2: {    CLIENTS_CONFIRMPASSWORD: null  }  3: {    CLIENTS_FIRSTNAME: null  }  4: {    CLIENTS_LASTNAME: null  }  5: {    CLIENTS_MOBILE: null  }  6: {    CLIENTS_HOMEPHONE: null  }  7: {    CLIENTS_BUSPHONE: null  }  8: {    CLIENTS_RECEIVE_MARKETING_VIA: [      0: {        CLIENTS_ISMARKETINGVIAEMAIL: false      }      1: {        CLIENTS_ISMARKETINGVIAMAIL: false      }      2: {        CLIENTS_ISMARKETINGVIAPHONE: false      }      3: {        CLIENTS_ISMARKETINGVIASMS: false      }    ]  }}展開片段需要將其添加到單個(gè)對(duì)象中,下面是示例:let data = {  CLIENTS_EMAIL: null,CLIENTS_PASSWORD: null,CLIENTS_CONFIRMPASSWORD: null,CLIENTS_FIRSTNAME: null,CLIENTS_LASTNAME: null,CLIENTS_MOBILE: null,CLIENTS_HOMEPHONE: null,CLIENTS_BUSPHONE: null,CLIENTS_ISMARKETINGVIAEMAIL: false,CLIENTS_ISMARKETINGVIAMAIL: false,CLIENTS_ISMARKETINGVIAPHONE: false,CLIENTS_ISMARKETINGVIASMS: false,  }以下是我正在嘗試的邏輯:const data = Object.entries(Object.entries(object).map((data: any) => {  return data[1]}))還查看了其他其他功能,但沒有成功
查看完整描述

2 回答

?
暮色呼如

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊

這是演示

有趣的遞歸問題。

但源數(shù)據(jù)有點(diǎn)奇怪。數(shù)組項(xiàng)不是鍵值對(duì)象。

應(yīng)該是這樣的:

var a = {

    0: {

        CLIENTS_EMAIL: null

    },

    1: {

        CLIENTS_PASSWORD: null

    },

    2: {

        CLIENTS_CONFIRMPASSWORD: null

    },

    3: {

        CLIENTS_FIRSTNAME: null

    },

    4: {

        CLIENTS_LASTNAME: null

    },

    5: {

        CLIENTS_MOBILE: null

    },

    6: {

        CLIENTS_HOMEPHONE: null

    },

    7: {

        CLIENTS_BUSPHONE: null

    },

    8: {

        CLIENTS_RECEIVE_MARKETING_VIA: [

            {

                CLIENTS_ISMARKETINGVIAEMAIL: false

            },

            {

                CLIENTS_ISMARKETINGVIAMAIL: false

            },

            {

                CLIENTS_ISMARKETINGVIAPHONE: false

            },

            {

                CLIENTS_ISMARKETINGVIASMS: false

            }

        ]

    }

}

然后使用遞歸


let result = {};


let convert = (obj) => {

    for (var i in obj) {

        if (obj[i] != null && obj[i] !== false) {

            convert(obj[i]);

        } else {

            result[i] = obj[i];

        }

    }

}


查看完整回答
反對(duì) 回復(fù) 2023-10-20
?
米脂

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊

該函數(shù)遞歸地將對(duì)象的對(duì)象合并為單個(gè)對(duì)象,但成本太高。

時(shí)間復(fù)雜度約為O(n 2 log n)


(雖然沒有測(cè)試其他輸入,所以讓我知道它是否不適用于所有內(nèi)容)


let result = {};

recMerge(ooo); /// --> 'ooo' is your (o)bject (o)f (o)bjects


function recMerge(obj) {

  Object.getOwnPropertyNames(obj).forEach((prop) => {

    const propName = obj[prop];


    Object.getOwnPropertyNames(propName).forEach((propValue) => {

      if (!!propName[propValue] && typeof propName[propValue] === "object") {

        recMerge(propName[propValue]);

      } else {

        result = { ...result, ...propName };

      }

    });

  });

}

例子

輸出將始終是每次迭代中最內(nèi)部的對(duì)象,并分布到單個(gè)對(duì)象中。


CLIENTS_RECEIVE_MARKETING_VIA: {

  0: {

    CLIENTS_ISMARKETINGVIAEMAIL: false,

  },

  1: {

    CLIENTS_ISMARKETINGVIAMAIL: false,

  },

  2: {

    CLIENTS_ISMARKETINGVIAPHONE: false,

  },

  3: {

    CLIENTS_ISMARKETINGVIASMS: {

      0: {

        CLIENTS_ISMARKETINGVIATEXT: false,

      },

      1: {

        CLIENTS_ISMARKETINGVIAPIC: false,

      },

    },

  },

},

會(huì)輸出

{

  CLIENTS_ISMARKETINGVIAEMAIL: false,

  CLIENTS_ISMARKETINGVIAMAIL: false,

  CLIENTS_ISMARKETINGVIAPHONE: false,

  CLIENTS_ISMARKETINGVIATEXT: false,

  CLIENTS_ISMARKETINGVIAPIC: false,

}


查看完整回答
反對(duì) 回復(fù) 2023-10-20
  • 2 回答
  • 0 關(guān)注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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