如何在 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