程序复杂条件分支逻辑的一种写法(js)

来源:互联网 发布:java大牛的博客 编辑:程序博客网 时间:2024/05/16 06:44
// 文案根据type-status两个变量确定let txt = ''if (type === '0' && status === '4') {  txt = '04040404'} else if (type === '0' && status === '7') {  txt = '07070707'} else if (type === '0' && status === '9') {  txt = '09090909'} else if (type === '2' && status === '7') {  txt = '27272727'} else if (type === '2' && status === '9') {  txt = '29292929'} else if (type === '1' && status === '4') {  txt = '14141414'} else if (type === '1' && (status === '7' || status === '9')) {  txt = '17191719'}// 以下风格更易理解,有效降低程序圈复杂度const txt1 = ({  '0-4': '04040404',  '0-7': '07070707',  '0-9': '09090909',  '1-4': '14141414',  '1-7': '17191719',  '1-9': '17191719',  '2-7': '27272727',  '2-9': '29292929',})[`${type}-${status}`]

如果条件分支包含逻辑代码,而非简单赋值。可以包装成匿名函数。

({  '0-4': () => { /*.一些逻辑.*/ console.log('04040404') },  '1-4': () => { /*.一些逻辑.*/ console.log('14141414') },})[`${type}-${status}`]()
原创粉丝点击