我有一个非常长的条件语句,如下所示:
if(test.type == 'itema' || test.type == 'itemb' || test.type == 'itemc' || test.type == 'itemd'){
// do something.
}
我想知道我是否可以将这个表达式/语句重构为更简洁的形式。
有关于如何实现这一点的想法吗?
发布于 2013-08-21 08:36:38
您可以将switch语句与fall thru一起使用:
switch (test.type) {
case "itema":
case "itemb":
case "itemc":
case "itemd":
// do something
}
发布于 2013-08-21 09:00:42
如果您正在与字符串进行比较,并且存在模式,请考虑使用正则表达式。
否则,我怀疑试图缩短它只会混淆你的代码。考虑简单地对行进行换行以使其更美观。
if (test.type == 'itema' ||
test.type == 'itemb' ||
test.type == 'itemc' ||
test.type == 'itemd') {
do something.
}
发布于 2013-08-21 08:44:27
var possibilities = {
"itema": 1,
"itemb": 1,
"itemc": 1,
…};
if (test.type in possibilities) { … }
将对象用作关联数组是一件很常见的事情,但由于JavaScript没有原生集合,因此也可以将对象用作廉价的集合。
https://stackoverflow.com/questions/18347033
复制相似问题