美文网首页
【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