首页 > 解决方案 > 在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',
}]

标签: javascript

解决方案


您没有指定应合并哪些标准项目。在我的回答中,我假设它基于父母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);


推荐阅读