如何在我for循环添加对象到父对象中,只添加数组中第一个对象当中的属性,发现两个数组中的属性都被添加了这个对象?

问题遇到的现象和发生背景

在我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
                }
运行结果及报错内容

两个都出现了这个子元素

img

img

排错

在排错中,if条件起了作用,但是在第一次进入if时就将两个对象全部添加了这个子元素,不知为何原因

我想要达到的结果

只有第一个,也就是条件符合的第一个对象添加子对象

需要添加的子对象是result1?如果是数组,你这的写法没有问题