查找并插入复杂的JSON对象

时间:2020-09-03 05:17:28

标签: json angular typescript

我有一个类似下面的对象

interface  Employee {
id: number;
name: string;
parentid: number;
level: string;
children?: Employee[];
}

const Data: Employee[] = [
{
id:1,  name: 'name1', parentid:0, level: 'L1',
children: [
  { id: 2, name: 'name2', parentid:1, level: 'L2'},
  { id: 3, name: 'name3', parentid:1, level: 'L2',
children: [
  {id: 4, name: 'name4', parentid:3, level: 'L3'}
]}
]
}
];

此处子项parentid被映射到parentdata'id'。

如果我有[id = 5,名称:'name5',parentid = 0和Level ='L1']的新数据及其子数据[id = 6,name ='name6']。我们需要检查L1是否存在给定的id = 5。如果没有,则添加如下内容

[
{
id:1,  name: 'name1', parentid:0, level: 'L1',
children: [
  { id: 2, name: 'name2', parentid:1, level: 'L2'},
  { id: 3, name: 'name3', parentid:1, level: 'L2',
children: [
  {id: 4, name: 'name4', parentid:3, level: 'L3'}
]}
]
},
{
id:5,  name: 'name5', parentid:0, level: 'L1',
children: [
  { id: 6, name: 'name6', parentid:5, level: 'L2'}
]  
}
];

如果我有ID为7,名称为:'name7',parentid = 3的新数据,则它必须找到ID为3并按如下所示添加它

[
{
id:1,  name: 'name1', parentid:0, level: 'L1',
children: [
  { id: 2, name: 'name2', parentid:1, level: 'L2'},
  { id: 3, name: 'name3', parentid:1, level: 'L2',
children: [
  {id: 4, name: 'name4', parentid:3, level: 'L3'},
  {id: 7, name: 'name7', parentid:3, level: 'L3'}
]}
]
},
{
id:5,  name: 'name5', parentid:0, level: 'L1',
children: [
  { id: 6, name: 'name6', parentid:5, level: 'L2'}
]  
}
];

请指导我

0 个答案:

没有答案
相关问题