js数据结构重组

有如下数据结构。



e   test1

b   test2

c   test2

i   test3

d   test3

f   test3

k   test3

h   test3


左边是字段1(值),右边是字段2(属性名)




把属性名进行去重,然后把左侧的值归并到指定的属性名下,如下格式:


[

    {

        category: 'test1',

        arr: ['e']

    },

    {

        category: 'test2',

        arr: ['b','c']

    },

    {

        category: 'test3',

        arr: ['i','d','k','f','h']

    }

]



我的思路,遍历数组,已经拿到了属性值的数组,形如

[

    {

        category: 'test1'

    },

    {

        category: 'test2'

    },

    {

        category: 'test3'

    }

].

有啥思路方法获取同属性数组然后放到对应的字段名下?


守着一只汪
浏览 475回答 1
1回答

拉丁的传说

这个不难啊,你可以在获取属性数组的时候就新建一个map, 形如:var cate = new Map()cate.set('test1', 0)cate.set('test2', 1)cate.set('test3', 2)然后去遍历原数组:// 属性数组prop = [    {        category: 'test1',        arr: []    },    {        category: 'test2',        arr: []    },    {        category: 'test3',        arr: []    }]// 假设原数组为二维数组for (i in categorys) {  prop[cate[categorys[i][1]].arr.push(lecategorys[i][0])}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript