我正在寻找有条件避免在初始化/定义时向地图添加元素的最佳方法.在这种情况下,如果键的值为nil,我想避免向地图添加元素.
(defn create-record [data]
(let [res {
:username (data :username)
:first-name (get-in data [:user-info :name :first])
:last-name (get-in data [:user-info :name :last])
:gender (get-in data [:user-info :sex])
}])
)
Run Code Online (Sandbox Code Playgroud)
如果get-in的结果为nil(数据中的性别字段不存在),我不想在地图上添加性别.有没有办法在我创建地图时这样做?在创建地图后,我可以删除其值为nil的所有键,但在某些情况下,如果它们具有nil值,我希望某些键具有nil值而其他键根本不在地图中.
clojure ×1