我有一个地图/结构数据:
%{foo: "102", zoo: "103", bar: "104"}
Run Code Online (Sandbox Code Playgroud)
我想迭代地图并将值更新为整数,我该怎么做?
result = %{foo: 102, zoo: 103, bar: 104}
Run Code Online (Sandbox Code Playgroud)
干杯
此外,使用Kernel.SpecialForms.for/1列表理解:
for {k, v} <- %{foo: "102", zoo: "103", bar: "104"},
into: %{},
do: {k, String.to_integer(v)}
#? %{bar: 104, foo: 102, zoo: 103}
Run Code Online (Sandbox Code Playgroud)
或者,直接使用Enum.reduce/3.
Enum.reduce(
%{foo: "102", zoo: "103", bar: "104"},
%{},
fn {k, v}, acc ->
Map.put(acc, k, String.to_integer(v))
end
)
#? %{bar: 104, foo: 102, zoo: 103}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
528 次 |
| 最近记录: |