[英]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.