Объединить 2 неизменных JS Упорядоченные объекты карты
Я использую Immutable JS как хранилище для моего приложения React Native. У меня есть 2 заказанная карта, которая является набором списков ключей. Когда я пытаюсь объединить эти 2 упорядоченные карты, если ключи перекрываются, данные перезаписываются.
Например: рассмотрим 2 заказанные карты с датами в качестве ключей. Когда я объединяю их, если у них обоих есть ключи с одинаковой датой, данные этого ключа будут заменены. Как я могу объединить их без потери данных?
Ordered Map1: {'21 -07-2017 ': список (10), '22 -07-2017': список (10), '23-07-2017': список (10), '24-07-2017': Список (10)}
Ordered Map2: {'24 -07-2017 ': List (5) }
Когда я пытаюсь объединить их, data @ key '24-07-2017'заменяется. Ordered Map1.merge (Ordered Map2) дает { '21-07-2017': List(10), '22-07-2017': List(10), '23-07-2017': Список (10), '24-07-2017': Список (5) }
Я пробовал методы concat (), merge () и mergeDeep()
1 ответ
Может быть, http://facebook.github.io/immutable-js/docs/ именно то, что вы ищете. в merger
функция, которую вы можете concat
списки.
В соответствии с приведенным примером для mergeWith
это должно выглядеть так, я думаю:
OrderedMap1.mergeWith(
(dates1, dates2) => dates1.concat(dates2),
OrderedMap2
)