vue构建不定复杂JSON

目标是构建一个多层级的JSON

[
            {
                name: "A_root",
                id:1,
                depth:0,
                child: [
                    {
                        name: "a1_1",
                        depth:1,
                        id:1
                    },
                    {
                        name: "a1_2",
                        depth:1,
                        id:2
                    }
                ]
            },
            {
                 name: "B_root" ,
                 id:2,
                 depth:0                     
            }
        ]
        

用一个函数在任意地方添加节点
比如可以在depth:0的这一级新增一个{name:'C_root',id:3,depth:0}
也可以在depth:0 id:2这里增添一个子节点构建成
{ name:'B_root',
id:2,
depth:0,
child:[{name:"b1_1",id:1,depth:1}] }
以此类推新增子节点,因为可能在任意位置新增节点所以希望能用一个函数解决

阅读 2.6k
2 个回答

可以用 lodash 的 set 方法, 如下所示:

const set = require('lodash.set')

let data = [
  {
    name: "A_root",
    id: 1,
    depth: 0,
    child: [
      {
        name: "a1_1",
        depth: 1,
        id: 1
      },
      {
        name: "a1_2",
        depth: 1,
        id: 2
      }
    ]
  },
  {
     name: "B_root" ,
     id: 2,
     depth: 0
  }
];
        

set(data, '[1].child[0]', { name: "b1_1", id: 1, depth: 1 });

题主你要干啥?这跟 Vue 有什么关系?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题