【问题标题】:how to get all nested child array object如何获取所有嵌套的子数组对象
【发布时间】:2020-04-13 16:06:15
【问题描述】:
{
  "name":"123",
  "reponsetype":"2",
  "ussdcode":"123",
  "parrentussd":"0",
  "children": [
    {
      "name":"1 Menu",
      "reponsetype":"2",
      "ussdcode":"123*1",
      "parrentussd":"123"
    },
    {
      "name":"Menu 2",
      "reponsetype":"2",
      "ussdcode":"123*2",
      "parrentussd":"123",
      "children":[ 
        {
          "name":"Dynamic Menu 1", 
          "reponsetype":"4",
          "ussdcode":"123*2",
          "parrentussd":"123*2"
        }
    ] 
}

【问题讨论】:

  • 你能不能也添加预期的输出。
  • 你检查下面的答案了吗?

标签: javascript arrays json filtering binary-search-tree


【解决方案1】:

你可以使用递归来做到这一点。

试试这个:

let arr = { "name": "123", "reponsetype": "2", "ussdcode": "123", "parrentussd": "0", "children": [{ "name": "1 Menu", "reponsetype": "2", "ussdcode": "123*1", "parrentussd": "123" }, { "name": "Menu 2", "reponsetype": "2", "ussdcode": "123*2", "parrentussd": "123", "children": [{ "name": "Dynamic Menu 1", "reponsetype": "4", "ussdcode": "123*2", "parrentussd": "123*2" }] }] }
let res = [];

function getChild(obj) {
  for (let i = 0; i < obj.children.length; i++) {
    if (obj.children[i].children) {
      getChild(obj.children[i]);
      delete obj.children[i].children;
      res.push(obj.children[i])
   } else {
      res.push(obj.children[i])
   }
 }
}
getChild(arr);
console.log(res);

【讨论】:

    猜你喜欢
    • 2020-07-20
    • 1970-01-01
    • 2021-08-25
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    • 2018-12-01
    • 1970-01-01
    相关资源
    最近更新 更多