clojure map-indexed使用实例

用了clojure,才发现北方有一座高山……

今天网站中需要做一个小功能,通过restful api请求另外一个内部网站的数据,但是写这个网站的同学给出的数据是[[a b c] [d e f]…]另外还有一个用于代表每一项的链接的links: [link1 link2 link3…]

需要将之每项对应合并起来,找了下发现map-indexed非常适合这个场景:

(def test1 [['a ] ['b] ['c]])
(def test2 ['c 'd 'e])
(defn my-merge [vect1 vect2]
(into [] (map-indexed
(fn [idx item] (merge item (vect2 idx))) vect1)))
(my-merge test1 test2)
=>[[a c] [b d] [c e]]