我正在try 使用id/parentId关系为devexpress树网格构建数据.该id需要包含完整的父路径,即parentId、该parentId、该parentId等...
So if you look at this screenshot.
我想要的结果是这样的.
[
{
id: "EOG",
parentId: null,
},
{
id: "EOG~division_name~Midland",
parentId: "EOG",
},
{
id: "EOG~division_name~Midland~entity_color~Blue",
parentId: "EOG~division_name~Midland",
},
{
id: "EOG~division_name~Midland~entity_color~Blue~area~Area 2",
parentId: "EOG~division_name~Midland~entity_color~Blue",
},
{
id: "EOG~division_name~Midland~entity_color~Blue~area~Area 1",
parentId: "EOG~division_name~Midland~entity_color~Blue",
},
{
id: "EOG~division_name~Midland~entity_color~Blue~area~UNKNOWN",
parentId: "EOG~division_name~Midland~entity_color~Blue",
},
];
这是0-N层次 struct 设置.
部门/实体 colored颜色 /区域
我需要一个递归函数来构建id/parentid.
[
{
"id": "EOG",
"parentId": null
},
{
"id": "CORPUS CHRISTI",
"level": "1",
"memSqlColumnName": "division_name",
"parentId": "EOG",
"parentMemSqlColumnName": ""
},
{
"id": "CHINA",
"level": "1",
"memSqlColumnName": "division_name",
"parentId": "EOG",
"parentMemSqlColumnName": ""
},
{
"id": "DENVER",
"level": "1",
"memSqlColumnName": "division_name",
"parentId": "EOG",
"parentMemSqlColumnName": ""
},
{
"id": "HEADQUARTERS",
"level": "1",
"memSqlColumnName": "division_name",
"parentId": "EOG",
"parentMemSqlColumnName": ""
},
{
"id": "MIDLAND",
"level": "1",
"memSqlColumnName": "division_name",
"parentId": "EOG",
"parentMemSqlColumnName": ""
},
{
"id": "BLUE",
"level": "2",
"memSqlColumnName": "entity_color",
"parentId": "MIDLAND",
"parentMemSqlColumnName": "division_name"
},
{
"id": "AREA 2",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "AREA 1",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "UNKNOWN",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "AREA 7",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "RED HILLS",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "RED HILLS NORTH",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "BETA",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "ZENA WEST",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "UNASSIGNED",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "STATELINE",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "K-BAR CORRIDOR",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "NORTH DJ",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "AREA 5",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "UNASSIGNED",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "BAKKEN LITE",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "UNASSIGNED",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "KBAR",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "NORTH POWDER",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "CORE",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "SOUTH POWDER",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "AREA 9",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "POWDER RIVER",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "SPR OFF-CORRIDOR",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "ANTELOPE",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "PEGASUS",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "SOLD",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "WEST",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "ZENA",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "CORRIDOR A",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "ATHENA",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "0",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "AREA 2",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "ZENA EAST",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "IMPOSSIBLE",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "SDJ",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "AREA 3",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "AREA 3",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "UNASSIGNED",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "AREA 1",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "UNASSIGNED",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "AREA 8",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "SOUTH DJ",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "UNASSIGNED",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "NPR CORRIDOR",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "0",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "HOBBS",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "ALPHA",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "KING RANCH",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "UNASSIGNED",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "UNDAUNTED",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "RED HILLS SOUTH",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "HERCULES",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "ROSS DRAW",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "AREA 1",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "ROSS",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "DELAWARE BASIN",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "WEST",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "UNASSIGNED",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "AREA 1",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "AREA 6",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "UNASSIGNED",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "DELAWARE BASIN",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "CENTRAL",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "UNASSIGNED",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "BAKKEN",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "CONAN",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "AREA 1",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "AREA 1",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "SPR CORRIDOR",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "ELM COULEE",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "CARLSBAD",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "K-BAR",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "AREA 4",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "NPR OFF-CORRIDOR",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "EAST",
"level": "3",
"memSqlColumnName": "area",
"parentId": "BLUE",
"parentMemSqlColumnName": "entity_color"
},
{
"id": "BLACK",
"level": "2",
"memSqlColumnName": "entity_color",
"parentId": "MIDLAND",
"parentMemSqlColumnName": "division_name"
},
{
"id": "GREEN",
"level": "2",
"memSqlColumnName": "entity_color",
"parentId": "MIDLAND",
"parentMemSqlColumnName": "division_name"
},
{
"id": "GOLD",
"level": "2",
"memSqlColumnName": "entity_color",
"parentId": "MIDLAND",
"parentMemSqlColumnName": "division_name"
},
{
"id": "TRINIDAD",
"level": "1",
"memSqlColumnName": "division_name",
"parentId": "EOG",
"parentMemSqlColumnName": ""
},
{
"id": "OKLAHOMA CITY",
"level": "1",
"memSqlColumnName": "division_name",
"parentId": "EOG",
"parentMemSqlColumnName": ""
},
{
"id": "INTL OMAN",
"level": "1",
"memSqlColumnName": "division_name",
"parentId": "EOG",
"parentMemSqlColumnName": ""
},
{
"id": "MIDSTREAM",
"level": "1",
"memSqlColumnName": "division_name",
"parentId": "EOG",
"parentMemSqlColumnName": ""
},
{
"id": "SHARED SERVICES",
"level": "1",
"memSqlColumnName": "division_name",
"parentId": "EOG",
"parentMemSqlColumnName": ""
},
{
"id": "ARTESIA",
"level": "1",
"memSqlColumnName": "division_name",
"parentId": "EOG",
"parentMemSqlColumnName": ""
},
{
"id": "SAN ANTONIO",
"level": "1",
"memSqlColumnName": "division_name",
"parentId": "EOG",
"parentMemSqlColumnName": ""
},
{
"id": "INTERNATIONAL HEADQUARTERS",
"level": "1",
"memSqlColumnName": "division_name",
"parentId": "EOG",
"parentMemSqlColumnName": ""
},
{
"id": "INTL NEW VENTURES",
"level": "1",
"memSqlColumnName": "division_name",
"parentId": "EOG",
"parentMemSqlColumnName": ""
},
{
"id": "FORT WORTH",
"level": "1",
"memSqlColumnName": "division_name",
"parentId": "EOG",
"parentMemSqlColumnName": ""
}
]
我可以使用任何可以帮助我的图书馆,比如lodash等等...