defmodule User do
defstruct [:id, :name, :role, :age]
end
{:module, User, <<70, 79, 82, 49, 0, 0, 7, ...>>, %User{age: nil, id: nil, name: nil, role: nil}}
users_list = [
%User{id: 1, name: "Alice", role: "user", age: 20},
%User{id: 2, name: "Bob", role: "admin", age: 30},
%User{id: 3, name: "John", role: "editor", age: 40}
]
[
%User{age: 20, id: 1, name: "Alice", role: "user"},
%User{age: 30, id: 2, name: "Bob", role: "admin"},
%User{age: 40, id: 3, name: "John", role: "editor"}
]
Enum.map(users_list, fn user_struct ->
Map.take(user_struct, [:id, :name])
end)
[%{id: 1, name: "Alice"}, %{id: 2, name: "Bob"}, %{id: 3, name: "John"}]
Enum.map(users_list, &Map.take(&1, [:id, :name]))
[%{id: 1, name: "Alice"}, %{id: 2, name: "Bob"}, %{id: 3, name: "John"}]