Javascript 如何使用长生不老药
你如何使用长生不老药?在JavaScript中(大多数语言都有类似的语言),我可以遍历列表中的各种项目,并做一些有副作用的事情,比如输出到控制台Javascript 如何使用长生不老药,javascript,foreach,elixir,Javascript,Foreach,Elixir,你如何使用长生不老药?在JavaScript中(大多数语言都有类似的语言),我可以遍历列表中的各种项目,并做一些有副作用的事情,比如输出到控制台 [1,2,3].forEach(function(num) { console.log(num); }); //=> 1 //=> 2 //=> 3 elixir中是否有等价物?遍历集合通常使用Enum模块进行处理。如果你想产生副作用,这就是你想要的 Enum.each/2函数接受两个参数:集合和在集合的每个成员上运行的函
[1,2,3].forEach(function(num) {
console.log(num);
});
//=> 1
//=> 2
//=> 3
elixir中是否有等价物?遍历集合通常使用
Enum
模块进行处理。如果你想产生副作用,这就是你想要的
Enum.each/2
函数接受两个参数:集合和在集合的每个成员上运行的函数
像这样:
iex(3)> Enum.each([1, 2, 3], fn x -> IO.puts x end)
1
2
3
:ok
我最近写了一篇关于这一点的文章,里面有更多的细节。这篇文章比较了Elixir和Ruby,但同样的逻辑也适用于JavaScript。另一个选择是使用它
Enum.each/2
始终返回:ok
,而map/2
迭代列表并返回新值(相当于Javascript的数组.map
)
一种选择是使用理解:
for item <- items do
IO.inspect(item)
end
如果您想特别使用
foreach
,可以使用Erlang的foreach/2
:
:lists.foreach(fn a -> IO.puts a + a end, [1,2,3])
# 2
# 4
# 6
用于
?
Enum.each items, fn(item) ->
IO.inspect(item)
end
:lists.foreach(fn a -> IO.puts a + a end, [1,2,3])
# 2
# 4
# 6