2017-07-12 17 views
0

私はReactネイティブアプリケーションのレビュックスストアとしてImmutable JSを使用しています。私はリストのキー付きコレクションである2つの秩序マップを持っています。これらの2つの秩序マップをマージしようとすると、キーが重複すると、データが上書きされます。Merge 2不変JS順序付けされたマップオブジェクト

たとえば、次のようにします。日付をキーとする2つの順序付きマップがあるとします。私がそれらをマージするとき、両方のキーが同じ日付であれば、そのキーのデータが置き換えられます。データを失うことなく連結するにはどうすればいいですか?

OrderedMap1:{ '21 -07-2017 ':リスト(10)、'22 -07-2017 ':リスト(10)、 '23 -07-2017' :リスト(10)、 '24 -07-2017 ':リスト(10) }

OrderedMap2:{ '24 -07-2017':リスト(5) }

私はそれらをマージしようとすると、データ@キー'24 -07-2017 'が置き換えられます OrderedMap1.merge(OrderedMap2)は { '21 -07-2017':List(10)、 '22 -07-2017 ':リスト(10)、'23 -07-2017 ':リスト(10)、 '24 -07-2017' :リスト(5) }

私が試みた連結()、merge()、mergeDeep()メソッド

+0

私たちはコードのサンプルを見ることができれば、おそらく、問題を発見するために容易になるだろう。 –

答えて

0

多分http://facebook.github.io/immutable-js/docs/#/Map/mergeWithはあなたが探しているものです。 merger機能では、concatのリストを使用できます。

それは次のようになりますmergeWithために提供された例をよると、私は推測する:

OrderedMap1.mergeWith(
    (dates1, dates2) => dates1.concat(dates2), 
    OrderedMap2 
) 
関連する問題