Joh*_*son 5 clojure clojurescript
在Clojure中,Java interop给了我们.indexOf,但是ClojureScript没有.如何获取向量中项目的索引?
(def items [:a :b :c])
;; Clojure
(.indexOf items :a) ; => 0
;; ClojureScript
;; ???
Run Code Online (Sandbox Code Playgroud)
这是一个明确的递归答案。我希望有一个更好的答案!
(defn index-of [s v]
(loop [idx 0 items s]
(cond
(empty? items) nil
(= v (first items)) idx
:else (recur (inc idx) (rest items)))))
Run Code Online (Sandbox Code Playgroud)
将矢量转换为数组.http://clojuredocs.org/clojure_core/clojure.core/to-array
我不确定这是什么穿孔.:)
cljs.user=> (.indexOf (to-array [:a :b]) :b)
=> 1
Run Code Online (Sandbox Code Playgroud)