Ale*_*son 5 javascript refactoring if-statement
我有一个可怕的嵌套 if。未来可能会有更多线路。
if (people < 10) {
price = 500;
} else if (people >= 10 && people < 25) {
price = 350;
} else if (people >= 25 && people < 100) {
price = 250;
} else if (people >= 100) {
price = 200;
}
Run Code Online (Sandbox Code Playgroud)
价格随着成交量的增加而下降。我如何重构它以使其更易于维护/可读?
编辑:我尝试了一个开关,但不是更好吗?
您可以采取提前退出的功能。上一次检查是下一次检查或获得最大结果的条件。
优点是防止else if语句链并提供更好的可维护性。
function getPrice(people) {
if (people < 10) {
return 500;
}
if (people < 25) {
return 350;
}
if (people < 100) {
return 250;
}
return 200;
}
var price = getPrice(people);
Run Code Online (Sandbox Code Playgroud)
更多内容请阅读: