我有这样的条件:
if (foo == 'fgfg' || foo == 'asdf' || foo == 'adsfasdf') {
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
当然有更快的方式来写这个?
谢谢.
您可以考虑使用switch-case语句
switch(foo) {
case "fgfg":
case "asdf":
case "adsfasdf":
// ...
}
Run Code Online (Sandbox Code Playgroud)
它实际上并不短,但根据您使用的条件数量可能更具可读性.
我会让条件语句保持原样。任何巧妙的缩短它们的方法都会使代码不那么惯用并且可读性较差。
现在,如果您确实关心可读性,您可以定义一个函数来进行比较:
if( foo_satisfies_condition(foo) ) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
或者:
if( is_month_name(foo) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
如果您为函数指定一个能够忠实描述其功能的名称,那么将更容易理解代码的意图。
如何实现该函数取决于您需要的比较次数。如果要比较的字符串数量非常大,则可以使用哈希。不过,在阅读调用代码时,实现细节并不重要。
| 归档时间: |
|
| 查看次数: |
289 次 |
| 最近记录: |