Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用长生不老药_Javascript_Foreach_Elixir - Fatal编程技术网

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函数接受两个参数:集合和在集合的每个成员上运行的函

你如何使用长生不老药?在JavaScript中(大多数语言都有类似的语言),我可以遍历列表中的各种项目,并做一些有副作用的事情,比如输出到控制台

[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