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

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

按鍵對(duì)對(duì)象數(shù)組進(jìn)行分組,其中鍵是數(shù)組

按鍵對(duì)對(duì)象數(shù)組進(jìn)行分組,其中鍵是數(shù)組

慕萊塢森 2023-08-18 16:46:25
我們可以通過(guò)對(duì)象的鍵來(lái)實(shí)現(xiàn)對(duì)對(duì)象數(shù)組的分組,其中鍵也是一個(gè)數(shù)組嗎?[    {        "name": "Apple",        "tags": ["fruits"]    },    {        "name": "Orange",        "tags": ["fruits"]    },    {        "name": "Tomato",        "tags": ["fruits", "vegetables"]    }]分組后的對(duì)象中想要的結(jié)果:{    "fruits": [        {            "name": "Apple",            "tags": ["fruits"]        },        {            "name": "Orange",            "tags": ["fruits"]        },        {            "name": "Tomato",            "tags": ["fruits", "vegetables"]        }    ],    "vegetables": [        {            "name": "Tomato",            "tags": ["fruits", "vegetables"]        }    ]}非常歡迎 Vanilla 或 Lodash 解決方案!編輯謝謝大家,這是我最終使用的:const groupBy = key => array =>    array.reduce((obj, el) => {        el[key].forEach(k => {            obj[k] = obj[k] || []            obj[k].push({ ...el })        })        return obj    }, {})const groupBySomething = groupBy(`something`)const grouped = groupBySomething(data)
查看完整描述

3 回答

?
GCT1015

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

這使用Array.prototype.reduce和Array.prototype.forEach


{

? const data = [

? ? {

? ? ? ? "name": "Apple",

? ? ? ? "tags": ["fruits"]

? ? },

? ? {

? ? ? ? "name": "Orange",

? ? ? ? "tags": ["fruits"]

? ? },

? ? {

? ? ? ? "name": "Tomato",

? ? ? ? "tags": ["fruits", "vegetables"]

? ? }

? ]

?

? const groupedData = data.reduce((carry, element) => {

? ? element.tags.forEach(tag => {

? ? ? carry[tag] = carry[tag] || []

? ? ? carry[tag].push({...element})

? ? })

? ? return carry;?

? }, {})

??

? console.log(groupedData)

}


查看完整回答
反對(duì) 回復(fù) 2023-08-18
?
茅侃侃

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

這里:


let arr = [

    {

        "name": "Apple",

        "tags": ["fruits"]

    },

    {

        "name": "Orange",

        "tags": ["fruits"]

    },

    {

        "name": "Tomato",

        "tags": ["fruits", "vegetables"]

    }

];


let response = {};

for(let i of arr){

  for(let j of i.tags){

     let tags =[...i.tags]

     if(response[j]){

        response[j].push({...i , tags: tags})

     } else{

        response[j] = [{...i, tags: tags}];

     }

  }

}


console.log(response)


查看完整回答
反對(duì) 回復(fù) 2023-08-18
?
呼如林

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

輸入數(shù)據(jù):


const data = [

    {

        "name": "Apple",

        "tags": ["fruits"]

    },

    {

        "name": "Orange",

        "tags": ["fruits"]

    },

    {

        "name": "Tomato",

        "tags": ["fruits", "vegetables"]

    }

];

const convertData = data.reduce((target, currentElem) => {

        currentElem.tags.forEach(tag => {

            target[tag] ? target[tag].push({...currentElem}) : target[tag] = [{...currentElem}];

        });

        return target;

}, {});


console.log(convertData);


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

添加回答

舉報(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)