需求:将数组形式字符串组成树结构
问题相关代
数据代码
let list = [
{
TagCodePath: "1234|5678|55555",
contentTagSource: "dsg",
TagNamePath: "电视剧|主角定位|渣男渣女",
},
{
TagCodePath: "1234|5678",
contentTagSource: "dsg",
TagNamePath: "电视剧|古装",
},
{
TagCodePath: "1234|5678|3333",
contentTagSource: "dsg",
TagNamePath: "电视剧|主角定位|富二代",
},
{
TagCodePath: "1234|5678|3333",
contentTagSource: "dsg",
TagNamePath: "电视剧|风格定位|励志",
},
{
TagCodePath: "1234|5678",
contentTagSource: "dsg",
TagNamePath: "电视剧|年代",
},
{
TagCodePath: "1234|5678|3333|8789|7676",
contentTagSource: "dsg",
TagNamePath: "电视剧|主角定位|富二代|复仇|赘婿",
},
];
这是后台返回的数据,现在需要将其转换成树结构来渲染,其中层级不定,给出的所有数据均是子项,单可以根据子项拿到对应父项,其中TagCodePath可以视为id, TagNamePath中 ‘|’ 分割的最后一项是我要展示的label, 用 '|' 再向上一级即为他的父级。
现我将数据组成如下的数组形式,然后准备递归将数据做成树的形式来渲染,但递归条件写的不清楚,导致无线循环,望指教怎么将数据组成树形结构