// 实现累乘缓存
// 缓存输出 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
}
}
}
标签:map,缓存,return,js,params,result,key,手写
From: https://www.cnblogs.com/yiyunh/p/17023801.html