首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在药方中使用forEach

如何在药方中使用forEach
EN

Stack Overflow用户
提问于 2016-09-30 19:22:41
回答 4查看 15.9K关注 0票数 20

你是如何在forEach中使用药剂的?在JavaScript (大多数语言都有类似的语言)中,我可以迭代列表中的各个项目,并做一些有副作用的事情,比如输出到控制台。

代码语言:javascript
复制
[1,2,3].forEach(function(num) {
    console.log(num);
});

//=> 1
//=> 2
//=> 3

灵丹妙药中有类似的药吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-09-30 19:30:56

迭代一个集合最常用的是Enum模块。如果你想产生副作用的话,Enum.each/2就是你要找的东西。

Enum.each/2函数有两个参数:您的集合和要在集合的每个成员上运行的函数。

就像这样:

代码语言:javascript
复制
iex(3)> Enum.each([1, 2, 3], fn x -> IO.puts x end)
1
2
3
:ok

我最近写了一篇关于这件事的博客帖子文章,其中有更多的细节。这篇文章是对Elixir和Ruby的比较,但同样的逻辑适用于JavaScript。

票数 31
EN

Stack Overflow用户

发布于 2016-09-30 20:46:01

一种选择是使用理解:

代码语言:javascript
复制
for item <- items do
  IO.inspect(item)
end

另一种选择是枚举:

代码语言:javascript
复制
Enum.each items, fn(item) ->
  IO.inspect(item)
end
票数 14
EN

Stack Overflow用户

发布于 2016-09-30 20:18:41

另一种选择是使用Enum.map/2Enum.each/2总是返回:ok,而map/2迭代列表并返回新值(相当于Javascript的Array.map)

代码语言:javascript
复制
iex(3)> Enum.map([1, 2, 3], fn x -> x * x end)
[1, 4, 9]
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39798694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档