Elixir语言中 Enum.filter
相关用法介绍如下。
用法:
filter(enumerable, fun)
@spec filter(t(), (element() -> as_boolean(term()))) :: list()
过滤 enumerable
,即仅返回那些 fun
为其返回真值的元素。
另请参阅
,它丢弃函数返回真值的所有元素。reject/2
例子
iex> Enum.filter([1, 2, 3], fn x -> rem(x, 2) == 0 end)
[2]
请记住,filter
不能同时过滤和转换元素。如果您想这样做,请考虑使用
。例如,如果要转换所有表示整数的字符串并一次性丢弃无效的:flat_map/2
strings = ["1234", "abc", "12ab"]
Enum.flat_map(strings, fn string ->
case Integer.parse(string) do
# transform to integer
{int, _rest} -> [int]
# skip the value
:error -> []
end
end)
相关用法
- Elixir Enum.find_value用法及代码示例
- Elixir Enum.find用法及代码示例
- Elixir Enum.find_index用法及代码示例
- Elixir Enum.flat_map用法及代码示例
- Elixir Enum.fetch用法及代码示例
- Elixir Enum.frequencies用法及代码示例
- Elixir Enum.flat_map_reduce用法及代码示例
- Elixir Enum.fetch!用法及代码示例
- Elixir Enum.frequencies_by用法及代码示例
- Elixir Enum.unzip用法及代码示例
- Elixir Enum.min_max用法及代码示例
- Elixir Enum.reduce_while用法及代码示例
- Elixir Enum.at用法及代码示例
- Elixir Enum.split_with用法及代码示例
- Elixir Enum.dedup用法及代码示例
- Elixir Enum.sum用法及代码示例
- Elixir Enum.zip用法及代码示例
- Elixir Enum.product用法及代码示例
- Elixir Enum.map_join用法及代码示例
- Elixir Enum.zip_with用法及代码示例
- Elixir Enum.intersperse用法及代码示例
- Elixir Enum.count用法及代码示例
- Elixir Enum.drop用法及代码示例
- Elixir Enum.slice用法及代码示例
- Elixir Enum.max_by用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Enum.filter(enumerable, fun)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。