UNPKG

nsn-comp

Version:

NSN核心组件

34 lines (28 loc) 709 B
import { cloneDeep } from 'lodash'; /** * 将平面数据转换为树结构 */ var conventToTree = function conventToTree() { var records = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; if (records.length === 0) { return []; } var recordsMap = new Map(); records.forEach(function (ele) { return recordsMap.set(ele.id, cloneDeep(ele)); }); var dataList = []; recordsMap.forEach(function (ele) { var pRes = recordsMap.get(ele['parentId']); if (pRes) { if (!pRes.children) { pRes.children = []; } pRes.children.push(ele); } else { dataList.push(ele); } }); return dataList; }; export { conventToTree };