场景
摆脱
if else
和switch
,条件判断
- 大量枚举值
- 大量配对标识执行不同的方法
普通
单个条件判断
1. 对象法
const codesObj = {
'1': 'xxxxxx',
'2': 'xxxxxx',
'3': 'xxxxxx',
'4': 'xxxxxx',
'5': 'xxxxxx',
'default': 'xxxxxx'
}
const res = codesObj[status] || codesObj['default']
2. Map法
const codesMap = new Map([
[1, 'xxxxxx'],
[2, 'xxxxxx'],
[3, 'xxxxxx'],
[4, 'xxxxxx'],
[5, 'xxxxxx'],
['default', 'xxxxxx']
])
const res = codesMap.get(status) || codesMap.get('default')
使用到Map对象
调用方式
codesMap.get(key)
codesMap()[ 已知序号的index ]
进阶
多个条件同时判断标识
1. 拼接字符对象法
const codesObj = {
[ 'aaa_1', ()=>{
/*do sth*/} ],