javascript - 在javascript中合并2个不同数据集的最佳方法?
问题描述
在javascript中合并2个不同数据集的最佳方法是什么?例如,
const parentRecords = [{
id: 1,
mycol1: 'parent name',
}]
const childRecords = [{
childid: 2,
parentId: 1,
mycol2: 'child name',
}]
const mergedRecords = [...parentRecords, ...childRecords]
此代码返回一个数组,其中上面的每个记录都作为单独的行存在。我需要结果看起来像这样:
[{
id: 1,
mycol1: 'parent name',
childid: 2,
parentId: 1,
mycol2: 'child name',
}]
解决方案
您没有指定应合并哪些标准项目。在我的回答中,我假设它基于父母id
和孩子parentId
:
const parentRecords = [{
id: 1,
mycol1: 'parent name',
}];
const childRecords = [{
childid: 2,
parentId: 1,
mycol2: 'child name',
}];
const result = parentRecords.map((x) =>
Object.assign(
x,
childRecords.find((y) => y.parentId === x.id)
)
);
console.log(result);
推荐阅读
- google-cloud-platform - 挂载具有写入权限的 GCP 存储桶
- git - 我的 git apply 补丁失败,因为目标文件有 UTF8 BOM - 我该如何修复它?
- wpf - 无法从 XAML 访问 propertyResources 列表
- antd - 如何用蚂蚁设计呈现字典列表?
- json - soql 父到子 soql 请求的结果
- list - 拍两个列表 lambda
- android - 如何同步 PostgreSQL 数据和 ReactNative 移动应用数据?
- php - Laravel : Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException 没有消息
- python-3.x - python颜色图量化(matplotlib)
- apache-nifi - NIFI:在循环的每次迭代期间无法从列表中提取两个值