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

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

現(xiàn)有這樣一段json,問怎么才能處理成為我想要的格式呢?

現(xiàn)有這樣一段json,問怎么才能處理成為我想要的格式呢?

郎朗坤 2019-03-06 17:19:57
現(xiàn)有這樣一段json,問怎么才能處理成為我想要的格式呢?        articleList:[                {id:1,name:"小紅",user:456312,Occupation:"教練"},                {id:2,name:"小張",user:456321,Occupation:"歌手"},                {id:3,name:"小強(qiáng)",user:456312,Occupation:"老師"},                {id:1,name:"小分",user:456312,Occupation:"同事"},                {id:2,name:"小撒",user:456132,Occupation:"總經(jīng)理"},                {id:3,name:"小看",user:456132,Occupation:"程序猿"},                {id:1,name:"小貧",user:451632,Occupation:"演員"}            ],                                    把id相同的放在一個(gè)數(shù)組里面,用js代碼怎么實(shí)現(xiàn)呢?大神        articleList:[                {                    id:1,                    list:[                            {name:"小紅",user:456312,Occupation:"教練"},                            {name:"小分",user:456312,Occupation:"同事"}.                            {name:"小貧",user:451632,Occupation:"演員"}                     ]                },                {                    id:2,                    list:[                            {name:"小張",user:456321,Occupation:"歌手"},                            {name:"小撒",user:456132,Occupation:"總經(jīng)理"}                     ]                },                {                    id:,                    list:[                            {name:"小強(qiáng)",user:456312,Occupation:"老師"},                            {name:"小看",user:456132,Occupation:"程序猿"}                     ]                }            ]
查看完整描述

3 回答

?
慕俠2389804

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

這一段可以實(shí)現(xiàn)你說的功能。比較簡(jiǎn)單,就是按id往數(shù)組對(duì)應(yīng)的下標(biāo)里寫東西就好了。


let articleList = [

    { id: 1, name: "小紅", user: 456312, Occupation: "教練" },

    { id: 2, name: "小張", user: 456321, Occupation: "歌手" },

    { id: 3, name: "小強(qiáng)", user: 456312, Occupation: "老師" },

    { id: 1, name: "小分", user: 456312, Occupation: "同事" },

    { id: 2, name: "小撒", user: 456132, Occupation: "總經(jīng)理" },

    { id: 3, name: "小看", user: 456132, Occupation: "程序猿" },

    { id: 1, name: "小貧", user: 451632, Occupation: "演員" }

];


let newObject = [];


//循環(huán)

for (let index in articleList) {

    //取對(duì)象

    let o = articleList[index];

    //第一次為一個(gè)id增加對(duì)象

    if (!newObject[o.id]) {

        newObject[o.id] = {

            id: o.id,

            list: []

        }

    }

    //加入進(jìn)去

    newObject[o.id].list.push({

        name: o.name,

        user: o.user,

        Occupation: o.Occupation

    })

}

//打印結(jié)果

console.log(newObject);

以上代碼會(huì)在數(shù)組里產(chǎn)生空值,使用for(let i = 0;i<a.length;i++)遍歷會(huì)取出undefine。其實(shí)使用for in遍歷就不會(huì)出現(xiàn)這個(gè)問題??梢栽黾哟a如下:


    let array = [];

    for (let key in newObject){

      array.push(newObject[key])

    }

    console.log('array',array);

可以看到是可以正常遍歷的,即使id是字符串,上述代碼也不會(huì)有問題,因?yàn)閿?shù)組也可以使用字符串作為下標(biāo)。


查看完整回答
反對(duì) 回復(fù) 2019-03-15
?
嗶嗶one

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

let foldById = data => data.reduce((acc, cur) => {

    let { id, name, user, Occupation } = cur; 

    let toInsert = { name, user, Occupation }; 

    

    if (acc[id]){

        acc[id].list.push(toInsert); 

    } else {

        acc[id] = { id, list: [ toInsert ] }

    }


    return acc; 

}, {});

結(jié)果是類數(shù)組對(duì)象。


test

let data = [

    { id: 1, name: "小紅", user: 456312, Occupation: "教練" },

    { id: 2, name: "小張", user: 456321, Occupation: "歌手" },

    { id: 3, name: "小強(qiáng)", user: 456312, Occupation: "老師" },

    { id: 1, name: "小分", user: 456312, Occupation: "同事" },

    { id: 2, name: "小撒", user: 456132, Occupation: "總經(jīng)理" },

    { id: 3, name: "小看", user: 456132, Occupation: "程序猿" },

    { id: 1, name: "小貧", user: 451632, Occupation: "演員" }

];


foldById(data); 

https://img1.sycdn.imooc.com//5c8b06d90001ba5405190531.jpg

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

添加回答

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