📜  如何在 JavaScript 中将函数解开到深度 n?

📅  最后修改于: 2022-05-13 01:56:36.598000             🧑  作者: Mango

如何在 JavaScript 中将函数解开到深度 n?

以下方法介绍了如何在 JavaScript 中将函数解包到深度 n。 Uncurry a 函数是一个包装函数参数并一次传递所有参数的过程。 Uncurry up to depth n 意味着我们在所有参数中只传递了 n 个参数。

这可以通过以下方法完成:

  • 使用 reduce() 方法
  • 使用 for-of 循环方法

使用 reduce() 方法:reduce方法用于对列表的所有元素进行操作并返回结果。它需要一个适用于所有元素的回调。要将 args 切片到 n 我们使用 slice() 方法。 slice() 方法从列表中提取部分元素。 slice() 将起始索引和结束索引获取到我们想要提取的内容。如果不提供任何参数,则起始索引默认为 0。我们可以提供到列表末尾的结束索引。

例子:

Javascript


Javascript



输出:

Sum of 3 args are 7

使用 or-of 循环方法:在这种方法中,我们使用for-of 循环for-of 循环用于遍历列表的所有元素。以下是该方法的实现:

  • 定义添加所有提供的参数的 n 和 sum函数。
  • 使用 sum、n 和所有数字列表调用 uncurrry函数。
  • uncurry函数检查 n 是否大于参数,然后返回提供的更少参数。
  • 否则它会迭代整个参数并将函数sum 应用于每个参数。
  • 在 for 循环中,我们计算迭代。当迭代等于 n 时,中断循环。
  • 最后返回 f ,它是所有传递元素的总和。

例子:

Javascript



输出:

Sum of 3 args is 8