如何缩短此代码?我想返回除“abc”或“xyz”或“pqr”
之外的所有值return this.value != "abc" && this.value != "xyz" && this.value != "pqr";
答案 0 :(得分:1)
您可以使用数组:
return ["abc","xyz","pqr"].indexOf(this.value) == -1;
或对象:
return !({"abc":1,"xyz":1,"pqr":1}).hasOwnProperty(this.value);
答案 1 :(得分:1)
最常见的两种方式是:
<强>正则表达式强>
/ ^(ABC | XYZ | PQR)。$ /测试(THIS.VALUE)
对象属性查找
this.value in({'abc':1,'xyz':1,'pqr':1})
请注意,基于正则表达式的解决方案(#1)肯定比普通比较(您的版本)或属性查找(#2)慢。
另外,请记住属性查找不是非常可靠,因为它可能会报告任何与Object.prototype.*
属性相同的任何键的误报(例如“toString”,“ valueOf“等等。