首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ClojureScript中元素的向量?

问ClojureScript中元素的向量?
EN

Stack Overflow用户
提问于 2015-09-07 08:53:38
回答 1查看 158关注 0票数 0

我有一个向量:

代码语言:javascript
复制
(def my-collection ["image1.jpg" "image2.jpg" "image3.jpg"])

我想在文件中制作3张图片。

代码语言:javascript
复制
(println (count my-collection)) ; this prints count of my collection. This is 3.

(map (fn [x] (println x)) my-collection) ; doesn't do anything!

但!

代码语言:javascript
复制
(def image-element (.createElement js/document "img"))
(def insert-into-body (.appendChild (.-body js/document) image-element))
(set! (.-src image-element) "image1.jpg")

这段代码非常适合一个元素!

我该做些什么来收集?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-07 09:34:17

map函数用于通过应用指定的函数将集合转换为另一个集合。因为(println x)返回nil,所以代码的结果将是具有副作用的(nil, nil, nil) (每个图像名都打印在控制台中)。

也许您希望定义一个函数来创建具有指定src的图像元素。

代码语言:javascript
复制
(defn create-image [src]
  (let [img (.createElement js/document "img")]
    (set! (.-src img) src)
    img))

现在,您可以提供集合来将图像名映射到图像元素,然后将它们附加到body元素中。

代码语言:javascript
复制
(doseq [i (map create-image my-collection)]
  (.appendChild (.-body js/document) i))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32434643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档