TikTok / VO 面试真题解析:实现可链式求和的 sum() 函数

14次阅读
没有评论

Q: Implement sum() so that the following expressions evaluate correctly:

sum(1, 2, 3).sumOf(); // 6
sum(2, 3)(2).sumOf(); // 7
sum(1)(2)(3)(4).sumOf(); // 10
sum(2)(4, 1)(2).sumOf(); // 9

这道题考察的是 JavaScript 中“函数可调用且可继续链式累加”的实现思路。核心做法通常是利用闭包保存累计和,并让返回值本身仍然是一个函数,这样它既能继续接收新的参数,又能在调用 <code>sumOf()</code> 时返回当前累计结果。关键点在于正确处理多次传参、连续调用以及最终求值接口设计,是一道很典型的函数式编程与闭包题。

正文完
 0