(ns for-clojure.problem56)
(defn find-distinct-items
"找出序列中不同的元素,并且要保持原来的次序不变"
[v]
(reduce #(if (some #{%2} %1) %1 (conj %1 %2)) [] v))
(find-distinct-items [:a :a :b :b :c :c])
这里需要注意的是为什么用some而不用contain?、get等函数,因为这些函数在面对vector时,查找的都是index中是否包换值,而不是值本身。
4clojure第56个问题从序列中找出不同的项并保持次序
最新推荐文章于 2023-03-14 09:52:48 发布