Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何使用node js在单个数组中推送相似的对象元素?_Arrays_Node.js_Postgresql_For Loop - Fatal编程技术网

Arrays 如何使用node js在单个数组中推送相似的对象元素?

Arrays 如何使用node js在单个数组中推送相似的对象元素?,arrays,node.js,postgresql,for-loop,Arrays,Node.js,Postgresql,For Loop,我正在使用NodeJSAPI调用从PostgreSQL检索一些数据。在这里,我使用了两个不同的pg表。我正在检查条件,如果“unit_code”等于“fk_unit_code”,则它应该组合“Group_individuals”列中的相应值,并将其推送到数组中。为了获得“userData”,我在两个表之间进行左连接。我已经尝试了下面的代码,但它在for循环的每次迭代中都推动一行 function buildObject(userData){ for (var i = 0; i < use

我正在使用NodeJSAPI调用从PostgreSQL检索一些数据。在这里,我使用了两个不同的pg表。我正在检查条件,如果“unit_code”等于“fk_unit_code”,则它应该组合“Group_individuals”列中的相应值,并将其推送到数组中。为了获得“userData”,我在两个表之间进行左连接。我已经尝试了下面的代码,但它在for循环的每次迭代中都推动一行

function buildObject(userData){

for (var i = 0; i < userData.length; i++){
myArray = new Array() // at each iteration this will be empty and we get new group of "Group_individuals"
if(userData[i].unit_code=== userData[i].fk_unit_code){

                        myArray.push(userData[i].Group_individuals)
                        console.log(myArray)

            }
     }
}
我希望myArray看起来像: 在第一次迭代中,myArray=[John,Rocky,James] 在第二次迭代中,myArray=[Alex,Prince]

var userData=[{
团体(个人):"约翰",,
单位代码:2,
fk_单位代码:2,
},{
小组(个人):"洛奇",,
单位代码:2,
fk_单位代码:2,
},{
小组成员:“Alex”,
单位代码:3,
fk_单位代码:3,
},{
组_个人:“王子”,
单位代码:3,
fk_单位代码:3,
},{
小组(个人):"詹姆斯",,
单位代码:2,
fk_单位代码:2,
}]
var result={};
for(userData中的var i){
if(userData[i].unit\u code!=userData[i].fk\u unit\u code)
持续
var key=`${userData[i].unit_code}${userData[i].fk_unit_code}`;
结果[键]=结果[键]| |[];
结果[key].push(userData[i].组\个人);
}

控制台日志(结果)
向OP解释这个答案可能很好,这样他们可以学到一些东西(以及未来的读者)@vcode您的答案非常感谢,这帮助我实现了我的期望。非常感谢。
[
    { Group_individuals  : 'John',
      unit_code   : 2,
      fk_unit_code: 2,
    }
    { Group_individuals  : 'Rocky',
      unit_code   : 2,
      fk_unit_code: 2,
    }
    { Group_individuals  : 'Alex',
      unit_code   : 3,
      fk_unit_code: 3,
    }
    { Group_individuals  : 'Prince',
      unit_code   : 3,
      fk_unit_code: 3,
    }
    { Group_individuals  : 'James',
      unit_code   : 2,
      fk_unit_code: 2,
    }

]