首页 > 解决方案 > 使用 Node js 使用两个对象数组创建一个新的对象数组

问题描述

让我们看一个例子。

var arr1 = new Array({team_id:1, name: "kamal", age: "18"},
                     {team_id:2, name: "nimal", age: "28"});

var arr2 = new Array({team_id:1, team_color : "red", team_name: 'team1'},
                     {team_id:2, team_color : "green", team_name: 'team2'}
                     {team_id:3, team_color : "blue", team_name: 'team3'});

我需要合并这两个对象数组并创建以下数组:

var arr3 = new Array({team_id:1, name: "kamal", age: "18", team_color : "red", team_name:'team1'},
                     {team_id:2, name: "nimal", age: "28", team_id:2, team_color : "green", team_name: 'team2' });

正如您在上面的示例中看到的,我需要使用 team_id 将团队详细信息获取到单个对象数组。

如何使用节点 js 实现这一点?提前致谢。

标签: javascriptnode.jsarrays

解决方案


var arr1 = new Array({
  team_id: 1,
  name: "kamal",
  age: "18"
}, {
  team_id: 2,
  name: "nimal",
  age: "28"
});

var arr2 = new Array({
  team_id: 1,
  team_color: "red",
  team_name: 'team1'
}, {
  team_id: 2,
  team_color: "green",
  team_name: 'team2'
}, {
  team_id: 3,
  team_color: "blue",
  team_name: 'team3'
});



const arr3 = arr1.map(x => ({
  ...x, 
  ...arr2.find(y => y.team_id === x.team_id) 
}))

console.log(arr3)


推荐阅读