优化构建树形数据JS方法
This commit is contained in:
		
							parent
							
								
									107672419e
								
							
						
					
					
						commit
						876ecf21c7
					
				@ -126,23 +126,19 @@ export function praseStrEmpty(str) {
 | 
			
		||||
 * @param {*} children 孩子节点字段 默认 'children'
 | 
			
		||||
 * @param {*} rootId 根Id 默认 0
 | 
			
		||||
 */
 | 
			
		||||
export function handleTree(data, id, parentId, children, rootId) {
 | 
			
		||||
	id = id || 'id'
 | 
			
		||||
	parentId = parentId || 'parentId'
 | 
			
		||||
	children = children || 'children'
 | 
			
		||||
	rootId = rootId || 0
 | 
			
		||||
export function handleTree(data = [], id = 'id', parentId = 'parentId', children = 'children', rootId = 0) {
 | 
			
		||||
	//对源数据深度克隆
 | 
			
		||||
	const cloneData = JSON.parse(JSON.stringify(data))
 | 
			
		||||
	//循环所有项
 | 
			
		||||
	const treeData = cloneData.filter(father => {
 | 
			
		||||
		let branchArr = cloneData.filter(child => {
 | 
			
		||||
		const branchArr = cloneData.filter(child => {
 | 
			
		||||
			//返回每一项的子级数组
 | 
			
		||||
			return father[id] === child[parentId]
 | 
			
		||||
		});
 | 
			
		||||
		branchArr.length > 0 ? father.children = branchArr : '';
 | 
			
		||||
		branchArr.length && (father.children = branchArr);
 | 
			
		||||
		//返回第一层
 | 
			
		||||
		return father[parentId] === rootId;
 | 
			
		||||
	});
 | 
			
		||||
	return treeData != '' ? treeData : data;
 | 
			
		||||
	return treeData !== '' ? treeData : data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user