function parse(root, newRoot) {
	 let vm = this;
	 let i;
	 let len;
	 let node;
	 let newNode;
	
	 len = root.length;
	 for (i = 0; i < len; i++) {
	     node = root[i];
	     newNode = {};
	
	     if (node.issueId) {
	         newNode.id = node.issueId;
	         newNode.name = node.title;
	         newNode.status = node.status;
	         newNode.type = 'article';
	     }
	
	     if (node.catalogueId) {
	         newNode.id = node.catalogueId;
	         newNode.name = node.catalogueName;
	         newNode.type = 'catalog';
	         newNode.children = [];
	
	         if (node.catalogueResponseList) {
	             vm.parse(node.catalogueResponseList,newNode.children)
	         }
	
	         if (node.objList) {
	             vm.parse(node.objList,newNode.children)
	         }
	     }
	
	     newNode.data = {...node};
	      
	     newRoot.push(newNode)
	 }
}

【注】:这个函数没有返回值,在处理数据的地方直接this.parse(oldData,newData)

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐