在一个Clojure程序中,我有一个由包含人名和电子邮件的映射组成的数组。
例如:
例如:
[
{ :name "John" :email "john@gmail.com" }
{ :name "Batman" :email "batman@gmail.com" }
{ :name "John Doe" :email "john@gmail.com" }
]
我希望能够删除重复的条目,对于比较目的而言,将具有相同电子邮件的一对视为相等。在上面的示例中,输出将是:
[
{ :name "John" :email "john@gmail.com" }
{ :name "Batman" :email "batman@gmail.com" }
]
在Clojure中实现这一目标的最佳方法是什么?有没有一种方法让“distinct”知道使用哪个等于函数?
谢谢。
(distinct-by :email maps)
。 - Alex