ChickenDreamFactory / fe-chicken

✨✨✨ 集锦 前端JavaScript 手写题,编程题,Not just for interviews

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

67.实现一个sum函数

webVueBlog opened this issue · 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;
}