0

我正在使用 Immutable JS 作为我的 React Native App 的 redux 商店。我有 2 个有序映射,它是列表的键控集合。当我尝试合并这 2 个有序映射时,如果键重叠,则数据将被覆盖。

例如:考虑我有 2 个以日期为键的有序地图。当我合并它们时,如果它们都有相同日期的键,则该键的数据将被替换。如何在不丢失数据的情况下连接它们?

OrderedMap1:{'21-07-2017':列表(10),'22-07-2017':列表(10),'23-07-2017':列表(10),'24-07-2017':列表(10) }

OrderedMap2: { '24-07-2017': List(5) }

当我尝试合并它们时,数据 @ key '24-07-2017' 被替换 OrderedMap1.merge(OrderedMap2) 给出 { '21-07-2017': List(10), '22-07-2017': List (10),“23-07-2017”:列表(10),“24-07-2017”:列表(5)}

我尝试过 concat()、merge() 和 mergeDeep() 方法

4

1 回答 1

0

也许http://facebook.github.io/immutable-js/docs/#/Map/mergeWith是你正在寻找的。在merger功能中,您可以concat列出。

根据提供的示例mergeWith,我猜应该是这样的:

OrderedMap1.mergeWith(
    (dates1, dates2) => dates1.concat(dates2),
    OrderedMap2
)
于 2017-12-07T11:04:19.540 回答