#374
Data Fusion
 

Difficulty:Medium
Topics:Real life cases List of Maps


Mission: "Data Fusion Expert" menghadapi tantangan untuk menggabungkan informasi dari dua list berbeda yang berisi maps. Setiap map dalam list pertama memiliki keys :id, :x, dan :y, sementara setiap map dalam list kedua memiliki :id, :z, dan :w. Gabungkan dua list tersebut berdasarkan :id yang sama. Untuk setiap pasangan maps dengan :id yang sama, buatlah map baru yang mengandung semua keys dari kedua maps tersebut. Jika ada :id yang tidak memiliki pasangan, abaikan saja.
test not run
(= (__ [{:id 1 :x 2 :y 3} {:id 2 :x 4 :y 5}] [{:id 1 :z 6 :w 7} {:id 3 :z 8 :w 9}])
   [{:id 1 :x 2 :y 3 :z 6 :w 7}])
test not run
(= (__ [{:id 4 :x 10 :y 11}] [{:id 4 :z 12 :w 13} {:id 5 :z 14 :w 15}])
   [{:id 4 :x 10 :y 11 :z 12 :w 13}])
test not run
(= (__ [] [{:id 1 :z 2 :w 3}])
   [])
test not run
(= (__ [{:id 2 :x 5 :y 6}] [{:id 1 :z 7 :w 8} {:id 2 :z 9 :w 10}])
   [{:id 2 :x 5 :y 6 :z 9 :w 10}])


Code which fills in the blank: