面试一脸懵:前端借助后端简单运算

36 阅读1分钟

前端无法运用加减乘除,大小于,所有计算通过后端,实现add()

function addRemote(a,b){
  return new Promise((resolve)=>{
    setTimeout(()=>{
      resolve(a+b)
    })
  })
}
function add(data){
  //此处书写
  if(data.length === 1){
    return data[0]
  }
  let list = []
  let other = []
  while(data.length){
    let target = data.splice(0,2)
    if(target.length === 2){
      list.push(addRemote(...target))
    }else{
      other = target
    }
  }
  return Promise.all(list).then(res=>{
    return add([...res,...other])
  })
}
console.log(add([1,2,3,4,5,6,7,3,2]));