我有一个JSON,我需要与类型1不同的每个人都必须在类型1的正下方成为类型1的子对象
即,如果它不同于1并且在类型1的正下方,则该值必须成为类型1的嵌套对象
示例
array = [
{
name: 'name1',
type: 1
},
{
name: 'name2',
type: 2
},
{
name: 'name3',
type: 3
},
{
name: 'name4',
type: 1
},
{
name: 'name5',
type: 2
},
]
下面的数组应该变成这样。
arrayFormated = [
{
name: 'name1',
type: 1
child: [
{
name: 'name2',
type: 2
},
{
name: 'name3',
type: 3
}
]
},
{
name: 'name4',
type: 1,
child: [{
name: 'name5',
type: 2
}]
},
]
我尝试使用地图
this.formatedArray = array.map((x, index) => {
if (x.type !== 1) {
return {
name: x.name
type: x.type
}
}
您可以使用各种方法。例如,最冗长的用法是使用循环(不确定是否确实有效,未运行,将其视为伪代码pls):
您可以使用for
循环在数组上进行迭代,并且如果项的type
为1
,则可以将其分配给parent
。