原题 : 编写一个算法解析以下符号,转换为json树的结构
classTNode{name: stringchildren?: TNode[]constructor(name: string,children?: TNode[]){this.name=namethis.children=children}}// 编写一个算法解析以下符号,转换为json树的结构conststr=`<xml><div><p><a/></p><p></p></div></xml><xml><div><p><a/></p><p></p></div></xml>`// 解法consttoTree=(str: string)=>{constroot=newTNode('',[])constdfs=(str: string,parent: TNode)=>{constregexp=/<(.*?)>(.*?)<\/\1>/gconstmatch=[...str.matchAll(regexp)]if(match.length){for(constgroupofmatch){constname=group[1]constchildStr=group[2]constroot=newTNode(name,[])parent.children!.push(root)dfs(childStr,root)}}else{parent.children!.push(newTNode(str))}}dfs(str,root)returnroot.children}
原题 : 编写一个算法解析以下符号,转换为json树的结构