我试图通过减少重复次数来改进我的代码。Javascript改进代码切换语句
在这里的代码中,我想避免这个切换步骤,因为除了比较运算符===
和!==
之外的不同情况是相同的。
function Test(step, nb_change, name, value, previous_name){
switch (step) {
case 1:
for (var i = 0; i < nb_change; i++) {
if (name === previous_name[nb_change-1-i][1] && value === 'nd') {
To_change(i);
return true;
}
}
return false;
case 2:
for (var i = 0; i < nb_change; i++) {
if (name === previous_name[nb_change-1-i][1] && value !== 'nd') {
To_change(i);
return true;
}
}
return false;
case 3:
for (var i = 0; i < nb_change; i++) {
if (select_name !== previous_name[nb_change-1-i][1] && value !== 'nd') {
To_change(i);
return true;
}
}
return false;
default:
alert('ERROR');
break;
}
}
不要犹豫,提出一个解决方案,可以帮助我。
这只是一个很多案例! 当我猜想它可能写得更好时,我如何才能找到帮助来改进我的代码?
谢谢你的帮助。
https://codereview.stackexchange.com/ – j08691
看每种情况下的每个体。弄清楚每种情况都是一样的,有什么不同。使相似的部分成为函数的主体,并为函数创建不同的部分参数。这是泛化代码的基本方法。 – Carcigenicate
@ j08691我不知道这是一件很酷的事。 – jcollum