我正在try 使用id/parentId关系为devexpress树网格构建数据.该id需要包含完整的父路径,即parentId、该parentId、该parentId等...

So if you look at this screenshot. 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等等...

推荐答案

对于每一项,都需要递归地查找父项,并在过程中构建路径.在我的解决方案中,我创建了 map 来简化流程.

  • 第一次迭代是规范化数据
  • 第二个是 for each 项目构建路径
  • 第三个是创建路径为id和parentId的新数组

我不确定我的算法是否最有效,但我希望它能帮助你.

// utility function to create ids
const buildId = (item) =>
  item.memSqlColumnName ? `${item.memSqlColumnName}~${item.id}` : item.id;

const buildIds = (data) => {
  // normalize data for easy access
  const dataMap = data.reduce(
    (acc, item) => ({ ...acc, [buildId(item)]: item }),
    {}
  );

  // create map with paths for each item
  const pathsMap = data.reduce((acc, item) => {
    let id = buildId(item);
    let currentItem = item;
    let parentKey = null;
    while (currentItem.parentId) {
      parentKey = currentItem.parentMemSqlColumnName
        ? `${currentItem.parentMemSqlColumnName}~${currentItem.parentId}`
        : currentItem.parentId;
      id = `${parentKey}~${id}`;
      currentItem = dataMap[parentKey];
    }
    return {
      ...acc,
      [item.id]: {
        path: id,
      },
    };
  }, {});

  // create arrays with paths for item and parent
  const ids = data.map((item) => {
    return {
      id: pathsMap[item.id].path,
      parentId: item.parentId && pathsMap[item.parentId].path,
    };
  });

  return ids;
};

const data = [
  {
    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: "",
  },
];

console.log(buildIds(data));

Javascript相关问答推荐

我无法在NightWatch.js测试中获取完整的Chrome浏览器控制台日志(log)

IMDB使用 puppeteer 加载更多按钮(nodejs)

node TS:JWT令牌签名以验证客户端和后台问题之间的身份验证

如何在Connect 4游戏中 for each 玩家使用位板寻找7形状?

如何使用JavaScript将文本插入空div

给定一个凸多边形作为一组边,如何根据到最近边的距离填充里面的区域

Promise Chain中的第二个useState不更新

在Three JS中看不到补间不透明度更改效果

Prisma具有至少一个值的多对多关系

如何在不影响隐式类型的情况下将类型分配给对象?

TinyMCE 6导致Data:Image对象通过提供的脚本过度上载

AG-GRIDreact 显示布尔值而不是复选框

如何在Reaction中设置缺省值, Select 下拉列表,动态追加剩余值?

在传单的图像覆盖中重新着色特定 colored颜色 的所有像素

当S点击按钮时,我如何才能改变它的样式?

在每次重新加载页面时更改指针光标

如何将值从后端传递到前端

如何在Java脚本中添加一个可以在另一个面板中垂直调整大小的面板?

使用JavaScript或PHP从div ID值创建锚标记和链接

是否在图表中计算线上的点坐标?