js手写缓存累积

// 实现累乘缓存
// 缓存输出 1,2, 3 下次 2, 3, 1 也能直接获取结果

function multiplicationCatch(){
  let map = {}
  return function(...params){
    // 排序之后,内部统一参数的顺序,方便后面处理数据
    params.sort((a, b) => a - b)
    let key = params.join(',')
    if(map[key]){
      return map[key]
    }else {
      let result = params.reduce((pre, cur) => pre * cur, 1)
      map[key] = result
      return result
    }
  }
}
posted @ 2023-01-04 00:46  yiyunh  阅读(22)  评论(0)    收藏  举报