Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 将Enum.filter与Enum.each组合_Elixir - Fatal编程技术网

Elixir 将Enum.filter与Enum.each组合

Elixir 将Enum.filter与Enum.each组合,elixir,Elixir,使用以下地图列表: [%{test: %{"one" => 1, "three" => 3, "two" => 2}}, ...] 这个代码不应该过滤任何东西吗 Enum.filter([map], fn(number) -> Enum.each(number.test, fn {k, v} -> v == 4 end)

使用以下地图列表:

[%{test: %{"one" => 1, "three" => 3, "two" => 2}}, ...]
这个代码不应该过滤任何东西吗

Enum.filter([map], fn(number) ->    
  Enum.each(number.test, fn {k, v} -> 
    v == 4                             
  end)                               
end)

如何使Enum.filter与映射本身的属性一起工作?

Enum。每个
返回
:确定
,因此您的代码将始终返回与输入相同的值

如果要检查映射中的任何值是否有值4,可以使用
Enum.any?/2

Enum.any?(number.test, fn {k, v} -> 
  v == 4                             
end)
Enum.all?(number.test, fn {k, v} -> 
  v == 4                             
end)  
要检查它们是否都有值4,可以使用
Enum.all?/2

Enum.any?(number.test, fn {k, v} -> 
  v == 4                             
end)
Enum.all?(number.test, fn {k, v} -> 
  v == 4                             
end)