我有一个if语句。
if(content.indexOf("a") > -1 || content.indexOf("b") >-1 || content.indexOf("c") > -1 || content.indexOf("d") > -1)
是否有任何解决方案可以缩短这条线?
答案 0 :(得分:4)
使用正则表达式...
if (content.match(/[abcd]/))
或者简单循环可能更合适,具体取决于您的实际数据:
['a', 'b', 'c', 'd'].forEach(function (char) {
if (content.indexOf(char) > -1) {
// ...
}
});
答案 1 :(得分:2)
试试这个:
if (content.match(/[abcd]/))
甚至更短
if (content.match(/[a-d]/))
答案 2 :(得分:2)
为了完整起见,我会在这里留下Array.prototype.some
方法。
if (["a", "b", "c", "d"].some(function(char) {
return content.indexOf(char) !== -1;
})) {
...
}