现有一数组格式为:
oldArr: [
{letter: 'A', word: '安利'},
{letter: 'A', word: 'Apple'},
{letter: 'A', word: '阿文土司'},
{letter: 'B', word: 'BLUE'},
{letter: 'B', word: 'blood'},
{letter: 'C', word: '吃饭'},
{letter: 'C', word: '蹭蹭上涨'},
{letter: 'C', word: 'Cat'},
{letter: 'C', word: '策划'},
{letter: 'C', word: '穿女装'},
{letter: 'D', word: '蝶恋花'},
{letter: 'D', word: '大美女'},
...
]
如何将其格式化为
newArr: [
{
letter: 'A',
children: [
{word: '安利'},
{word: 'Apple'},
{word: '阿文土司'},
]
},
{
letter: 'B',
children: [
{word: 'BLUE'},
{word: 'blood'}
]
},
{
letter: 'C',
children: [
{word: '吃饭'},
{word: '蹭蹭上涨'},
{word: 'Cat'},
{word: '策划'},
{word: '穿女装'}
]
},
{
letter: 'D',
children: [
{word: '蝶恋花'},
{word: '大美女'}
]
},
...
]
现有方法:
先从oldArr
中提取出letterArr: ['A', 'B', 'C'...]
然后再用oldArr
中每个元素去匹配letterArr
,最终输出newArr
,但是这样太耗时了。
原数据长度或有数千,如何最快格式化为想要的格式?