如何合并两个对象并确保当有重复的键时,首先取其中一个对象的值?

问题描述 投票:0回答:0

我有两个使用 Lodash 的 groupBy 创建的对象,如下所示:

const prevGroupedData = {
  '01/04/2000': [{data: 1}, {data: 2}, {data: 3}],
  '02/04/2000': [{data: 1}, {data: 2}]
}

const GroupedData = {
  '02/04/2000': [{data: 3}, {data: 4}],
  '03/04/2000': [{data: 1}]
}

所以当我合并这两个对象时,我想确保首先合并的是 prevGroupedData,这意味着:

const result = {
  '01/04/2000': [{data: 1}, {data: 2}, {data: 3}],
  '02/04/2000': [{data: 1}, {data: 2}, {data: 3}, {data: 4}], 
  '03/04/2000': [{data: 1}]
}

但不是:

const result = {
  '01/04/2000': [{data: 1}, {data: 2}, {data: 3}],
  '02/04/2000': [{data: 3}, {data: 4}, {data: 1}, {data: 2}], 
  '03/04/2000': [{data: 1}]
}

我尝试过类似 lodash 的合并,但它给出了第二个结果:

let result = _.merge(prevGroupedData, GroupedData);
//gives second result

那么当有重复的键时,我如何确保它是具有更高优先级的prevGroupedData?

javascript lodash
© www.soinside.com 2019 - 2024. All rights reserved.