树形数据转换

发布时间:2023年12月28日
// array:源数据,parentId:父级id字段,id:id字段
	arrayToTree(array,parentId,id) {  
		const map = new Map()
		const result = []  
		for (const item of array) { 
		  	map.set(item[id], { ...item, children: [] })
		}  
		for (const [key, item] of map) {  
			if (item[parentId] == 0 || item[parentId] == null) {  
				result.push(item)
			} else {  
				const parent = map.get(item[parentId])
				if (parent) {  
					parent.children.push(item) 
				}
			}  
		}  
        result.forEach(node => this.deleteEmptyChildren(node))
		return result
	},
    deleteEmptyChildren(node) {  
        if (node.children && node.children.length === 0) {  
            delete node.children
        } else {  
            node.children.forEach(child => this.deleteEmptyChildren(child))
        }  
    }
文章来源:https://blog.csdn.net/qq_41742961/article/details/135267723
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。