迭代一个序列,在每一步中访问当前项和以下内容

时间:2016-02-08 17:32:17

标签: clojure clojurescript

说,我有5个存储在向量中的javaScript对象:

(def v [o1 o2 o3 o4 o5])

每个人都有一个方法“connect”,它将另一个对象作为参数。

我现在手动:

o1.connect(o2);
o2.connect(o3);
o3.connect(o4);
o4.connect(o5);

什么是自动化这个的好方法?

只有一些奇怪的解决方案出现在我的脑海中:as:

(doseq [[a b] (zipmap (butlast v) (rest v))]
  (.connect a b))

有更好的方法吗?

1 个答案:

答案 0 :(得分:6)

您可以使用partition

(doseq [[a b] (partition 2 1 v)]
  (.connect a b))