// 还原函数 export function treeFormat(sNodes) { var i, l, key = "code"; var parentKey = "parentCode"; var childKey = "children"; var text = "codeName"; if (!key || key == "" || !sNodes) return []; if (isArray(sNodes)) { var r = []; var tmpMap = []; for (i = 0, l = sNodes.length; i < l; i++) { sNodes[i]["title"] = sNodes[i][text]; tmpMap[sNodes[i][key]] = sNodes[i]; } for (i = 0, l = sNodes.length; i < l; i++) { if (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) { if (!tmpMap[sNodes[i][parentKey]][childKey]) { tmpMap[sNodes[i][parentKey]][childKey] = []; } tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]); } else { r.push(sNodes[i]); } } return mapCate1ToOptions(r); } return sNodes; } export function isEmptyObject(e) { var t; for (t in e) return !1; return !0 } function isArray(arr) { return Object.prototype.toString.apply(arr) === "[object Array]"; } function mapCate1ToOptions(categorys) { return categorys && categorys.map((category) => { return Object.assign({}, { title: category.codeName, value: category.code, key:category.code, isLeaf: false, children: getChildCategorys(category) }); } ) } function getChildCategorys(categoryCur) { return categoryCur.children && categoryCur.children.map((category) => { return Object.assign({}, { title: category.codeName, value: category.code, key: category.code, isLeaf: category.children ? false : true, children: category.children ? getChildCategorys(category) : null }); }); }
对数组进行树状结构输出(JS)
猜你喜欢
转载自blog.csdn.net/u012889214/article/details/80693486
今日推荐
周排行