📜  clojure 从向量中删除 nil (1)

📅  最后修改于: 2023-12-03 14:59:56.681000             🧑  作者: Mango

Clojure中删除向量中nil元素的方法

Clojure提供了许多操作向量的函数,其中一个是删除向量中的nil元素。

方法一:使用filter函数

我们可以使用Clojure中的filter函数来删除向量中的nil元素。

(filter (complement nil?) [1 2 nil 3 nil 4])

上面的代码会输出结果为[1 2 3 4],其中所有的nil元素都被删除了。

方法二:使用remove函数

同样,我们可以使用remove函数来从向量中删除nil元素。

(remove nil? [1 2 nil 3 nil 4])

上面的代码将输出结果为[1 2 3 4],也可以删除向量中的nil元素。

方法三:使用keep函数

在某些情况下,我们可能希望将nil元素替换为其他值而不是删除它们。这时候,我们可以使用Clojure的keep函数。

(keep #(if (nil? %) :null %) [1 2 nil 3 nil 4])

上面的代码将nil元素替换为:null。输出结果为[1 2 :null 3 :null 4]

总结

以上是Clojure中删除向量中nil元素的三种方法。我们可以根据自己的需求选择适合的方法。