我在elixir中有一个简单的地图,如下所示:
%{email: ["Nie może być puste."], password: ["Nie może być puste."],
password_confirmation: ["Nie może być puste."]}
如何将格式更改为以下内容:
%{email:“Niemożebyćpuste。”,密码:“Niemożebyćpuste。”, password_confirmation:“Niemożebyćpuste。”}
答案 0 :(得分:2)
如果列表中始终有一个字符串,则可以执行以下操作:
iex(1)> map = %{email: ["Nie może być puste."], password: ["Nie może być puste."],
...(1)> password_confirmation: ["Nie może być puste."]}
%{email: ["Nie może być puste."], password: ["Nie może być puste."],
password_confirmation: ["Nie może być puste."]}
iex(2)> for {k, [v]} <- map, into: %{}, do: {k, v}
%{email: "Nie może być puste.", password: "Nie może być puste.",
password_confirmation: "Nie może być puste."}
如果列表可以有多个字符串,您可以像这样加入它们:
iex(3)> map = %{email: ["Nie może być puste.", "Nie może być puste."],
...(3)> password_confirmation: ["Nie może być puste."]}
%{email: ["Nie może być puste.", "Nie może być puste."],
password_confirmation: ["Nie może być puste."]}
iex(4)> for {k, v} <- map, into: %{}, do: {k, Enum.join(v, " ")}
%{email: "Nie może być puste. Nie może być puste.",
password_confirmation: "Nie może być puste."}