为了账号安全,请及时绑定邮箱和手机立即绑定

Array重组

Array重组

当年话下 2018-08-16 09:09:46
第一种:[    {        name: 'name1',        cag: 'a'    },    {        name: 'name2',        cag: 'a'    },    {        name: 'name3',        cag: 'a'    },    {        name: 'name4',        cag: 'b'    },]第二种:[    {        slug: 'a',        item: [            {                name: 'name1',                cag: 'a'            },            {                name: 'name2',                cag: 'a'            },            {                name: 'name3',                cag: 'a'            }        ]    },    {        slug: 'b',        item: [            {                name: 'name4',                cag: 'b'            }        ]    }]JS如何将第一种重组成第二种格式?
查看完整描述

1 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

function handle (arr) {

    var res = [], obj = {}, index = 0;

    arr.forEach(val => {

        if (obj.hasOwnProperty(val.cag)) {

            res[obj[val.cag]].item.push(val);    

        } else {

            obj[val.cag] = index++;

            res.push({

                slug: val.cag,

                item: [val]

            });

        }

    });

    return res;

}


查看完整回答
反对 回复 2018-09-21
  • 1 回答
  • 0 关注
  • 570 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信