现有一个数组
[
{id: 1, pk: null, name: '学校'},
{id: 2, pk: 1, name: '一年级'},
{id: 3, pk: 1, name: '二年级'},
{id: 4, pk: 1, name: '三年级'},
{id: 6, pk: 2, name: '一班'},
{id: 7, pk: 2, name: '二班'},
{id: 8, pk: 2, name: '三班'},
{id: 9, pk: 2, name: '四班'},
{id: 10, pk: 3, name: '一班'},
{id: 11, pk: 3, name: '二班'},
{id: 12, pk: 3, name: '三班'},
{id: 13, pk: 3, name: '四班'},
{id: 14, pk: 4, name: '一班'},
{id: 15, pk: 4, name: '二班'},
{id: 16, pk: 4, name: '三班'},
{id: 17, pk: 4, name: '四班'}
]
pk为null的放在最外层, 子pk对应父id,则当作对应id的children, id转为对应的key,
如 id为17这一条, pk为4,则对应为三年级的children
.
最终转换结果
[{
title: '学校',
key: 1,
children: [{
title: '一年级',
key: 2,
children: [{
title: '一班',
key: 6,
},{
title: '二班',
key: 7,
},{
title: '三班',
key: 8,
},{
title: '四班',
key: 9,
}]
},{
title: '二年级',
key: 3,
children: [{
title: '一班',
key: 10,
},{
title: '二班',
key: 11,
},{
title: '三班',
key: 12,
},{
title: '四班',
key: 13,
}]
},{
title: '三年级',
key: 4,
children: [{
title: '一班',
key: 14,
},{
title: '二班',
key: 15,
},{
title: '三班',
key: 16,
},{
title: '四班',
key: 17,
}]
}]
}]
真实数据可能没那么整齐, 但是转换规则是这样的, 有什么好的转换写法么?