我有如此可怕的JavaScript代码
response.items[0].fields.image.fields.file.url
我可以将它转换为ClojureScipt地图,但要访问该字段,我将不得不键入怪异的不可读访问权限。 有没有办法以优雅和优雅的方式做到这一点?
答案 0 :(得分:2)
(-> (aget (.-items response) 0)
(.. -fields -image -fields -file -url))
或者如果您已将其转换为Clojure数据结构:
(-> response :items first :fields :image :fields :file :url)
答案 1 :(得分:0)
我建议使用cljs-oops库。它支持嵌套"选择器"对于您的对象图,例如:
(oget o "k3.?k31.k311")
(oget o "k3" "?k31" :k311)
(oget o ["k3" "?k31" "k311"])
(oget o [["k3"] "?k31"] "k311")