从用连字符箭头( - >)分隔的字符串创建一个json

时间:2018-05-23 12:11:45

标签: javascript jquery

我有一个字符串,如“first-> second-> third-> 4th ......”等等。

我需要将它转换为像structre

这样的树
[
 {
  "title":"first",
  "children":[
     {
        "title":"second",
        "children":[
           {
              "title":"third",
              "children":[
                 {
                    "title":"fourth"
                 }
              ]
           }
        ]
     }
  ]
 }
]

我怎样才能为此设置循环。 最后一个孩子不会有孩子

1 个答案:

答案 0 :(得分:0)

以下是一个工作示例

function createOutput(string, delimiter) {
  var stringArray = string.split(delimiter).reverse(),
    output = {},
    i = stringArray.length - 1;
  
  output.title = stringArray[i];
  if (i - 1 >= 0) {
    stringArray.splice(i, 1);
    output.children = [];
    output.children.push(createOutput(stringArray.reverse().join(delimiter), delimiter));
  }

  return output;
}

var output = createOutput("first->second->third->fourth", "->");

console.log(output);