我使用Immutable JS作为我的React Native App的redux商店。我有2个Ordered Map,它是一个Keyed的列表集合。当我尝试合并这两个有序地图时,如果键重叠,则数据将被覆盖。
例如:考虑我有2个有序地图,日期为关键字。当我合并它们时,如果它们都具有相同日期的键,则该键的数据将被替换。如何在不丢失数据的情况下连接它们?
OrderedMap1:{ '21 -07-2017':列表(10), '22 -07-2017':列表(10), '23 -07-2017':列表(10), '24 -07-2017':清单(10) }
OrderedMap2:{ '24 -07-2017':列表(5) }
当我尝试合并它们时,数据@ key '24 -07-2017'被替换 OrderedMap1.merge(OrderedMap2)给出 { '21 -07-2017':列表(10), '22 -07-2017':列表(10), '23 -07-2017':列表(10), '24 -07-2017':列表(5) }
我尝试过concat(),merge()和mergeDeep()方法
答案 0 :(得分:0)
也许http://facebook.github.io/immutable-js/docs/#/Map/mergeWith是您正在寻找的。在merger
功能中,您可以concat
列表。
根据提供的mergeWith
示例,它应该如下所示,我想:
OrderedMap1.mergeWith(
(dates1, dates2) => dates1.concat(dates2),
OrderedMap2
)