/**
 *  数据 工具类
 *
 * @author terrfly
 * @site https://www.jeepay.vip
 * @date 2022/11/30 14:18
 */

const model = {
	
	// 递归遍历树状结构数据 matchFunc 匹配结果， true表示匹配成功， 否则继续匹配。 
	// pnode 可不传入
	// 返回结构： [当前数据， 上级数据 ]
	recursionTreeData: (treeData, matchFunc, childrenName = 'children', pnode = null ) => {
		
	  for (let i = 0; i < treeData.length; i++) {

		const item = treeData[i]

		// 匹配成功
		if(matchFunc(item)){
		  return [item, pnode]
		}

		if (item[childrenName] && item[childrenName].length > 0) {
		   let res = model.recursionTreeData(item[childrenName], matchFunc, childrenName, item)
		   if(res){
			 return res
		   }
		}
	  }
	  
	}
	
}

export default model

