codecamp

Clojure Maps merge-with

返回一个映射,其中包含第一个映射的其余映射。如果一个键出现在多个映射中, 则后者的映射 (从左向右) 将与结果中的映射组合在一起。

语法

以下是语法。

(merge-with f hmap1 hmap2)

参数 - 'f'是需要应用于哈希映射的运算符。'hmap1'是哈希键和值的映射。'hmap2'是哈希键和值的映射,需要使用第一个HashMap进行映射。

返回值 - 返回由第一个映射结合的其余映射组成的映射。

例子

以下是Clojure中的merge-with的例子。

(ns clojure.examples.example
   (:gen-class))
(defn example []
   (def demokeys (hash-map "z" 1 "b" 2 "a" 3))
   (def demokeys1 (hash-map "a" 2 "h" 5 "i" 7))
   (println (merge-with + demokeys demokeys1)))
(example)

输出

上述代码输出以下结果。

{z 1, a 5, i 7, b 2, h 5}

请注意,在输出中,由于键“a”出现两次,所以根据运算符+从HashMaps添加该值。

温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Clojure Useful Resources

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }