[英]Elixir remove nil from list
我得到了以下結構:
[nil,
%{attributes: %{updated_at: ~N[2017-09-21 08:34:11.899360]},
...]
我想刪除 nils。 我該怎么做? 試過Enum.reduce/3
但沒有用。
Enum.filter/2
來救援:
Enum.filter(list, & !is_nil(&1))
如果您確定列表中沒有false
原子(Elixir 中的另一個可能的錯誤值),過濾器可能會簡化為:
Enum.filter(list, & &1)
此外(歸功於@Dogbert)還有一個對應函數Enum.reject/2
,它“返回enumerable
元素,函數fun
為其返回false
或nil
。”
Enum.reject(list, &is_nil/1)
這對我有用:
Enum.filter(s, fn x -> if(x != "") do x end end)
Enum.filter(list, fn x -> x != "" end)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.