gpt4 book ai didi

javascript - javascript 中的闭包,对 sum 函数进行多次空调用

转载 作者:行者123 更新时间:2023-11-28 17:52:37 25 4
gpt4 key购买 nike

我在一次采访中遇到了这个问题。我不知道如何解决这个问题。问题:编写一个 sum 函数,将 2 个数字相加,但数字可以通过以下方式传递给函数:

  1. sum(3)(4)//答案应该是 7
  2. sum(3)()(4)//答案应该是7
  3. sum(3)()()()()(4)//答案应该是b 7

我可以使用闭包解决第一个函数,实际上对于第二个函数,我也可以检查参数,如果参数长度为零,我可以再次调用 sum 来排除下一个参数。但如何使其通用呢?意味着即使您的第一个参数和最后一个参数有“N”次调用,并且这些参数可以为空或参数化,它也应该返回总和。

最佳答案

录制了视频如何解决:

https://youtu.be/7hnYMIOVEg0

文字回答:

function sum(numberOne) {
return function innerSum(numberTwo) {
if (typeof(numberTwo) === 'number') {
return numberOne + numberTwo;
}

return innerSum;
}
}

输出:

sum(3)(4); => 7
sum(5)()()(10); => 15

基本上,您需要返回内部函数 (innerSum),直到收到一个值 - 然后返回 number

您还可以为您的方法选择其他名称 - 例如 _sum()addToFirstNumber()

关于javascript - javascript 中的闭包,对 sum 函数进行多次空调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45178358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com