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