美文网首页
【JS】列表转换成树形结构

【JS】列表转换成树形结构

作者: 大Q本Q | 来源:发表于2019-06-19 15:48 被阅读0次
const LIST = [
    {id: 8, name: '我', pId: 7},
    {id: 1, name: '是'},
    {id: 2, name: '浦', pId: 1},
    {id: 3, name: '东', pId: 1},
    {id: 4, name: '的'},
    {id: 5, name: '完', pId: 4},
    {id: 6, name: '金', pId: 4},
    {id: 7, name: '啊', pId: 6}
];


function formateList(list, parent_key, init_value = undefined, master_key = 'id') {
    let data = {formate: [], remainder: []}
    list.forEach(item => data[item[parent_key] === init_value ? 'formate' : 'remainder'].push(item))
    return data.formate.map(item => ({
        ...item,
        children: formateList(data.remainder, parent_key, item[master_key])
    }))
}

formateList(LIST, 'pId')

相关文章

网友评论

      本文标题:【JS】列表转换成树形结构

      本文链接:https://www.haomeiwen.com/subject/ndskqctx.html