Skip to content

请实现一个 add 函数

Posted on:2024年8月15日 at 14:00

满足以下功能:

add(1).getValue(); 	// 1
add(1)(2).getValue();  	// 3
add(1)(2)(3).getValue();  // 6
add(1)(2, 3).getValue();   // 6
add(1, 2)(3).getValue();   // 6
add(1, 2, 3).getValue();   // 6

function add(...args) {
  function innerAdd(...innerArgs) {
    args.push(...innerArgs);
    return innerAdd;
  }

  innerAdd.getValue = function () {
    return args.reduce((acc, curr) => acc + curr, 0);
  };

  return innerAdd;
}

// console.log(add(1)(2).getValue()); // 输出: 3
原文转自:https://fe.ecool.fun/topic/c639112b-02cf-479d-a150-df9551f33e92