在Clojurescript中创建一个新数组

时间:2014-02-27 02:01:29

标签: clojurescript

当我使用[]时,表达式被编译为cljs.core.PersistentVector.EMPTY,看起来[]的所有表达式都映射到同一个对象。

我读过shouldn't use new Array()。这仍然值得关注吗?

由于我打算在这个数组上调用aset,每次调用都需要一个新对象。我该怎么做?

2 个答案:

答案 0 :(得分:7)

现在ClojureScript中有一个非常简洁的符号。您只需键入#js [],编译器就会将其视为本机JS数组。也适用于对象,如:#js {:one 1 :two 2}。这样的东西将编译成裸JS对象。

答案 1 :(得分:4)

除非你正在进行JavaScript互操作,否则你应该只使用持久向量。如果你真的需要制作数组,可以使用(array)