javascript - 使用 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 实现这一点?提前致谢。
解决方案
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)
推荐阅读
- javascript - 如何通过多个页面的异步获取请求将数据存储在数组中?
- sharepoint-online - 组合框选定的值不保留
- php - 使用数组数据格式化 Excel Laravel
- python - 为什么这个 SQL INSERT INTO 语句会抛出错误:TypeError: not all arguments convert during string formatting
- ios - currentContext 表示样式改变子视图控制器视图的大小
- mysql - 无法使用 java.util.UUID 从主键为二进制 (128) 的 Mysql db 检索数据
- firebase - Firebase 即时用户禁用?
- calayer - 通过 AVAssetExportSession 导出时,CABasicAnimation 不更新自定义 CALayer 属性
- scala - Scala Recursive For Comprehension 只在空列表前面添加一次,为什么?
- ios - 在 SwiftUI 表单中有多个列