ChickenDreamFactory/fe-chicken

67.实现一个sum函数

webVueBlog opened this issue · 0 comments

const sum = (...args1) => {
 let fullArgs = [...args1];
 const fn = (...args2) => {
  // 收集参数
  fullArgs = [...fullArgs, ...args2];
  // 返回自身保持链式调用
  return fn;
 };
 
 // 重写valueOf, 累加已收集的集数
 fn.valueOf = () => {
  return fullArgs.reduce((total, cur) => (total+=cur), 0);
 }
 return fn
}

const sum = (...args1) => {
 let fullArgs = [...args1];
 const fn = (...args2) => {
  fullArgs = [...fullArgs, ...args2]
  return fn;
 }
 
 fn.valueOf = () =>
  return fullArgs.reduce((total, cur) => total += cur, 0);
 }
 return fn;
}