普通的switch case代码
替换方法1----Map
let playMap = new Map()
playMap.set(1, '正常播放')
playMap.set(2, '播放2分钟')
playMap.set(3, '播放5分钟')
playMap.set(5, '禁播')
item.playType = playMap.get(parseInt(item.playType))? playMap.get(parseInt(item.playType)): '其他状况'
等价于
switch (item.playType) {
case 1:
item.playType = '正常播放'
break
case 2:
item.playType = '播放2分钟'
break
case 3:
item.playType = '播放5分钟'
break
case 5:
item.playType = '禁播'
break
default:
item.playType = '其他状况'
}
方法2----Object
switchFunc (condition) {
let switchObj = {
routeLocation: () => {
return 'router link'
},
reloadCurrentPage: function () {
return 'reload'
},
initList: () => {
this.errorMessage('ggggggggggg')
this.getGovernmentList(this.queryGovernment.name, this.queryGovernment.status)
}
}
if(typeof(switchObj[condition]) !== 'function') {
return false
} else {
return switchObj[condition]
}
}
应用:
this.switchFunc('initList')();
console.log(this.switchFunc('reloadCurrentPage')());
等价于
switch (condition) {
case 'routeLocation':
return 'router link'
break
case 'reloadCurrentPage':
return reload
break
case 'initList':
this.errorMessage('gggggggggggg')
this.getGovernmentList(this.queryGovernment.name, this.queryGovernment.status)
break
}