如何将multipler if语句重构为更干净、更易于阅读的javascript代码?
我在这样的函数中有多个if语句:如何将multipler if语句重构为更干净、更易于阅读的javascript代码?,javascript,Javascript,我在这样的函数中有多个if语句: const handleCat = () => { if (mainCat === 'car') { return carCat; } if (mainCat === 'mobile') { return mobileCat; } if (mainCat === 'estate') { return
const handleCat = () => {
if (mainCat === 'car') {
return carCat;
}
if (mainCat === 'mobile') {
return mobileCat;
}
if (mainCat === 'estate') {
return estateCat;
}
if (mainCat === 'other') {
return otherCat;
}
};
所有的cat都是带有对象的数组。我想知道如何将这段代码重构成更干净、更易于阅读的代码?在javascript中重构多个if语句有多少种方法?使用
开关语句:
const handleCat = () => {
switch (mainCat) {
case 'car':
return carCat;
case 'mobile':
return mobileCat;
case 'estate':
return estateCat;
case 'other':
return otherCat;
default:
break;
}
};
var mainCat = 'car';
const handleCat = () => {
switch(mainCat) {
case 'car':
return carCat;
break;
case 'mobile:
return mobileCat;
break;
case 'estate'
return estateCat;
break;
default:
return otherCat;
}
}
使用开关
语句:
const handleCat = () => {
switch (mainCat) {
case 'car':
return carCat;
case 'mobile':
return mobileCat;
case 'estate':
return estateCat;
case 'other':
return otherCat;
default:
break;
}
};
var mainCat = 'car';
const handleCat = () => {
switch(mainCat) {
case 'car':
return carCat;
break;
case 'mobile:
return mobileCat;
break;
case 'estate'
return estateCat;
break;
default:
return otherCat;
}
}
您可以使用switch语句:
const handleCat = () => {
switch (mainCat) {
case 'car':
return carCat;
case 'mobile':
return mobileCat;
case 'estate':
return estateCat;
case 'other':
return otherCat;
default:
break;
}
};
var mainCat = 'car';
const handleCat = () => {
switch(mainCat) {
case 'car':
return carCat;
break;
case 'mobile:
return mobileCat;
break;
case 'estate'
return estateCat;
break;
default:
return otherCat;
}
}
您可以使用switch语句:
const handleCat = () => {
switch (mainCat) {
case 'car':
return carCat;
case 'mobile':
return mobileCat;
case 'estate':
return estateCat;
case 'other':
return otherCat;
default:
break;
}
};
var mainCat = 'car';
const handleCat = () => {
switch(mainCat) {
case 'car':
return carCat;
break;
case 'mobile:
return mobileCat;
break;
case 'estate'
return estateCat;
break;
default:
return otherCat;
}
}
我推荐的一种方法是使用对象类型
const genericCat = {
car : carCat,
mobile : mobileCat,
estate:estateCat,
other : otherCat
}
handleCat = (mainCat)=>{
return(generiCat[mainCat])
}
如果cat类型增加,这种方法还可以避免从多个地方更新代码。这就像在Java中使用枚举,但使用对象一样。我建议的一种方法是使用对象类型
const genericCat = {
car : carCat,
mobile : mobileCat,
estate:estateCat,
other : otherCat
}
handleCat = (mainCat)=>{
return(generiCat[mainCat])
}
如果cat类型增加,这种方法还可以避免从多个地方更新代码。这就像在Java中使用枚举,但使用对象一样。switch语句是一种选择
const handleCat=(mainCat)=>{
开关(主Cat){
案例“汽车”:
返回“carCat”;
“手机”案例:
返回“mobileCat”;
“不动产”一案:
返回“estateCat”;
案例“其他”:
返回“otherCat”;
违约:
返回“后备猫”;
}
};
const first=handleCat(“汽车”);
常数秒=handleCat();
console.log(第一);
console.log(第二个)代码>开关语句是一个选项
const handleCat=(mainCat)=>{
开关(主Cat){
案例“汽车”:
返回“carCat”;
“手机”案例:
返回“mobileCat”;
“不动产”一案:
返回“estateCat”;
案例“其他”:
返回“otherCat”;
违约:
返回“后备猫”;
}
};
const first=handleCat(“汽车”);
常数秒=handleCat();
console.log(第一);
console.log(第二个)代码>Switch
语句在这里更有意义<代码>开关
语句在这里更有意义!