2
函數將接受什麼將是一個'映射'功能和哈希映射。映射函數將接受MapEntry類型的值。這是因爲收集(散列圖)如下所示:{k v k v k v}
,MapEntry是這樣的:k v。通過哈希映射映射,需要返回哈希映射
我似乎無法得到要返回的{k v k v k v}
。我可以很容易地得到([k v] [k v] [k v])
。
函數將接受什麼將是一個'映射'功能和哈希映射。映射函數將接受MapEntry類型的值。這是因爲收集(散列圖)如下所示:{k v k v k v}
,MapEntry是這樣的:k v。通過哈希映射映射,需要返回哈希映射
我似乎無法得到要返回的{k v k v k v}
。我可以很容易地得到([k v] [k v] [k v])
。
我剛剛完成輸入問題時就想到了這一點。所有你需要做的是(into {} ([k v] [k v] [k v]))
。這將給{k v k v k v}
。
是的,我相信這是最習慣的方式,因爲'map'總是返回一個Seq – SCdF
[flatten](https://clojuredocs.org/clojure.core/flatten)? – m0skit0
這是一個很常見的用例(通過對現有地圖中的條目應用一些函數來創建一個新地圖),我有點驚訝,clojure.core中沒有任何東西,儘管實現它自己很微不足道。有[algo.generic](https://github.com/clojure/algo.generic)中的'clojure.algo.generic.functor/fmap',但只對值(並強制第三方依賴)進行操作。 – Alex