Ваша забота о читабельности не так ли?Возможно, вам нужно немного разделить код.И используйте имена переменных вместо 0 и 1. Также вам нужно предоставить более подробную информацию.Например, он может выходить за пределы 0 и 1, 2, 3 и т. Д. И т. Д. Я не уверен, как вы называете свой код.
Однако вы можете попробовать (сочетание объектов и if-else):
const decideFn = ({ var1, var2, var3, i }) = {
const decision = {
1: {
0: {
cond(i) {
if (var3 === 'test') {
if (i === 0)
endresult.push({id: i, content: '123'})
else if (i === 2)
endresult.push({id: i, content: '124'})
else
endresult.push({id: i, content: '125'})
}
else endresult.push({id: i, content: '125'})
}
},
1: {
cond(i) {
endresult.push({id: i, content: '126'})
}
}
}
2: {
0: {
cond(i) {
if (i === 0)
endresult.push({id: i, content: '127'})
else if (i === 2)
endresult.push({id: i, content: '128'})}
},
1: {
cond(i) {
if (i === 0)
endresult.push({id: i, content: '128'})
else if (i === 2)
endresult.push({id: i, content: '129'})
}
}
}
}
// usage
// does i go in a loop ?
// your qn needs more details. but i hope you get the idea
decision[var1][var2].cond(i)
}
В конечном счете, все сводится к тому, как вы чувствуете, что понимаете код лучше, и как другие разработчикибудет читать ваш код, но лично я думаю, что ваши заявления о переключении в порядке.
Хотя объекты могут дать больше гибкости.