在我for循环添加对象到父对象中,明明做了规定,只添加数组中第一个对象当中的属性,当我添加的时候,发现两个数组中的属性都被添加了这个对象。
for(var k=0;k
for(var i=0;i
if(newData[k].id=== result1[i].fatherid){
newData[k].children.push(result1[i]);
}
}
}
其中new中的数据为(从数据库中查找,下面用代码块替代),其中的children是遍历上去的
[
{
id: 1,
RoleType: '1',
Name: '用户管理',
path: '/#',
icon: '/',
sort: '1',
fatherid: null,
children: []
},
{
id: 3,
RoleType: '1',
Name: '题库管理',
path: '/#',
icon: '/',
sort: '1',
fatherid: null,
children: []
}
]
需要添加的子对象
{
"id": 2,
"RoleType": "1",
"Name": "用户管理",
"path": "/usermanager",
"icon": "/",
"sort": "2",
"fatherid": 1
}
两个都出现了这个子元素
在排错中,if条件起了作用,但是在第一次进入if时就将两个对象全部添加了这个子元素,不知为何原因
只有第一个,也就是条件符合的第一个对象添加子对象
需要添加的子对象是result1?如果是数组,你这的写法没有问题