获取列表中的项目列表

时间:2017-10-31 11:36:18

标签: elixir

我在变量中得到以下结果:

list_of_scripts = [
  {<<"script">>,[{<<"type">>,<<"text/javascript">>}],[<<"\n            /*\n some JS here;\n                ">>]},            
  {<<"script">>,[{<<"type">>,<<"text/javascript">>}],["some json content"]},
  {<<"script">>,[],[<<"\n ">>]}
]

我想将每个元组的第3个元素放入列表

1 个答案:

答案 0 :(得分:3)

如果您想要每个元组的第三个元素列表,可以使用Enum.map/2 + elem/2

list_of_scripts |> Enum.map(&elem(&1, 2)) |> IO.inspect
[["\n            /*\n some JS here;\n                "], ["some json content"],
 ["\n "]]

如果你是一个平面列表(因为每个第3个元素都是一个列表),你可以使用Enum.flat_map/2代替:

list_of_scripts |> Enum.flat_map(&elem(&1, 2)) |> IO.inspect
["\n            /*\n some JS here;\n                ", "some json content",
 "\n "]

elem为零索引,因此要获取第三项,我们使用elem(_, 2)