进阶版策略模式,进来看看噻

273 阅读1分钟

关于业务,我想说的是出了算法,最重要的就是 if else 判断了,但是用多了 if else人就容易变得昏昏沉沉的,所以想用策略模式来解决,特此提醒自己,以后多用策略模式

const newVal = { value: 1 } 
const oldVal = { value: 2 } 
const dic = {
    '空': undefined,
    '数量管理': 1,
    '批次管理': 2,
    '单品管理': 3
}
switch(oldVal.value + '=>' + newVal.value) {
    case dic['空'] + '=>' + dic['数量管理']:
        console.log(1)
        break
    case dic['空'] + '=>' + dic['批次管理']:
        console.log(2)
        break
    case dic['空'] + '=>' + dic['单品管理']:
        console.log(3)
        break
    case dic['数量管理'] + '=>' + dic['批次管理']:
        console.log(4)
        break
    case dic['数量管理'] + '=>' + dic['单品管理']:
        console.log(5)
        break
    case dic['批次管理'] + '=>' + dic['数量管理']:
        console.log(6)
        break
    case dic['批次管理'] + '=>' + dic['单品管理']:
        console.log(7)
        break
    case dic['单品管理'] + '=>' + dic['数量管理']:
        console.log(8)
        break
    case dic['单品管理'] + '=>' + dic['批次管理']:
        console.log(9)
        break
    default:
        console.log('出现意想不到的场景!')
}