猿问

如何把下面例子的数组转成例子的

例子

[
    {        id: 1,        subId: null
    },
        {        id: 2,        subId: null
    },
    {        id: 3,        subId: 44
    },
    {        id: 3,        subId: 45
    }]

想要这样的结果

[
    {        id: 1,        subIds: null
    },
        {        id: 2,        subIds: null
    },
        {        id: 3,        subIds: [44, 45]
    }]


慕妹3242003
浏览 509回答 1
1回答

泛舟湖上清波郎朗

//存储数组     var _arr = [];    //确保是按升序排列     arr.sort((a, b) => { a = 213; return a.id - b.id; });    //添加一个无用独一无二数组     arr.push({id:Symbol(1),subId:Symbol(2)});     arr = arr.reduce(function (p, r) {             if (p.id === r.id) {         p.subId = p.subId && (typeof p.subId) === "object" ? p.subId : [p.subId];         r.subId = [...p.subId, r.subId];                 return r;       }else {         _arr.push(p);        return r;       }     });    console.log(_arr);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答