📅  最后修改于: 2023-12-03 14:59:56.681000             🧑  作者: Mango
Clojure提供了许多操作向量的函数,其中一个是删除向量中的nil元素。
我们可以使用Clojure中的filter
函数来删除向量中的nil元素。
(filter (complement nil?) [1 2 nil 3 nil 4])
上面的代码会输出结果为[1 2 3 4]
,其中所有的nil元素都被删除了。
同样,我们可以使用remove
函数来从向量中删除nil元素。
(remove nil? [1 2 nil 3 nil 4])
上面的代码将输出结果为[1 2 3 4]
,也可以删除向量中的nil元素。
在某些情况下,我们可能希望将nil元素替换为其他值而不是删除它们。这时候,我们可以使用Clojure的keep
函数。
(keep #(if (nil? %) :null %) [1 2 nil 3 nil 4])
上面的代码将nil元素替换为:null
。输出结果为[1 2 :null 3 :null 4]
。
以上是Clojure中删除向量中nil元素的三种方法。我们可以根据自己的需求选择适合的方法。