【问题标题】:How does the forEach Function in JavaScrip work?JavaScript 中的 forEach 函数是如何工作的?
【发布时间】: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


【解决方案1】:

尝试这个:

emails.forEach((email) => display_sent(email, mailbox))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    • 2022-08-18
    • 2021-06-26
    • 2015-09-19
    相关资源
    最近更新 更多