nsn-comp
Version:
NSN核心组件
41 lines (33 loc) • 845 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.conventToTree = void 0;
var _lodash = require("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, (0, _lodash.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;
};
exports.conventToTree = conventToTree;