【发布时间】:2022-11-30 20:05:43
【问题描述】:
我想用 forEach 遍历数组电子邮件,应该触发一个函数。它在函数中不使用圆括号时起作用(第 44 行),然后数组的当前项将作为内容(display_sent(contents))传输到函数。 但我还想传输另一个参数,而不是数组的当前项。但是当我尝试这样做时,它不会工作(第 44 行图片 2),因为我不知道如何访问数组的当前项。 如何访问数组的当前项并在函数中传输另一个变量?
1. Code that works (no brackets) 2. Code that will not work
我查看了 forEach() 方法的详细信息,但我并没有变得更聪明。我找到了一个替代解决方案,但它不是那么干净,我想了解 forEach 和功能。请帮我 :))
【问题讨论】:
-
你为什么“想”使用
.forEach?你应该更喜欢for(of)而不是因为它更现代(这意味着更快的性能)并且可以工作任何Iterable对象,而.forEach仅适用于少数类型,但最重要的是它不会创建闭包(这意味着更少的内存使用)并且意味着您可以避免与闭包捕获相关的错误。 -
出于多种原因,请使用代码嵌入功能,不要链接到外部站点。
-
不要发布代码、数据、错误消息等的图像。- 将文本复制或键入问题。请将图像保留用于图表或演示渲染错误,这些无法通过文本准确描述的事情。有关详细信息,请参阅元常见问题解答条目Why not upload images of code/errors when asking a question?请edit您的问题以包含文本。
-
.forEach(f)将循环并为每次迭代调用f/.forEach(f())将调用f()然后将其结果传递给.forEach- 即var x = f(); arr.forEach(x)。这是传递函数和传递函数结果之间的区别。有(各种)SO 问题/答案可以更详细地解释。 -
非常感谢,我会尝试 for(of),看起来好多了!
标签: javascript arrays function foreach parameters