javascript - 这样的函数如何优化最合适?
问题描述:
很简单的一个根据条件判断结果的函数,传进来三个值;三个条件是互相依赖的,通过switch来判断返回出结果
function(x,y,z){ switch(x) { case 1: switch(y){ case 1: switch(z){ case 1: return 'ok' break; case 2: return 'ok' break; //这里有20种判断条件 .... default: return 'no'; } ....... }
其中参数z传进来后,里面大约有20种判断条件;x与y也会有好几个判断条件
如果按照以上我的写法,可以整个函数会写很长;有什么其他更好的写法吗?
第 1 个答案:
function getStatus(x,y,z) { // 所有条件都符合用every return [ [1], // x ok [1], // y ok [1,2], // z ok ].every((arr,i) => arr.includes([x,y,z][i])) ? 'ok' : 'no' } console.log(getStatus(1,1,1)) // ok console.log(getStatus(1,1,2)) // ok console.log(getStatus(1,1,3)) // no
有如下数据[ { "addData": "item1.child1" }, { "addData": "item1.child2" }, { "addData": ...