Создание модели с массивом объектов в машинописи - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь построить рекурсивную модель на основе URL-строк в виде дерева.Я очень новичок в машинописи, любые мысли приветствуются, спасибо.

//node.ts interface
 export interface Node {
 name: string;
 child: Node[];
 }

//ObjectModel.ts
export class ObjectModel {

constructor(public parentNodes?: Node[]) { } 

createObjectModel(path: string): ObjectModel {

//path = "one\two\three"
const nodeArr = path.split('\\');
//["one", "two", "three"]
const obj = nodeArr.reduce((o, key) => Object.assign(o, {[key]: nodeArr[0]}), {});
console.log(obj); 
//{one: "one", two: "one", three: "one"}
return _.map(nodeArr, (node: Node) => {
  return { 
    parentNodes: bomNode
  }
});

}

Ожидаемый результат - древовидная структура, основанная на предоставленном пути URL.Заранее спасибо.

1 Ответ

0 голосов
/ 03 октября 2018

Вы можете просто уменьшить массив строк до желаемого результата:

 function buildTree(path: string): Node {
   return path.split("\\").reduceRight((child, name) => ([{ name, child }], [])[0];
 }
...