你可以使用这样的数组:
var extensions = ["jpg", "png", "gif"];
if (extensions.indexOf(aExtensions[i].toLowerCase()) > -1) {
// match
}
在这种情况下,您存储“有效”扩展名。然后,您可以使用 的indexOf
方法Array
来查找数组中的任何项目是否与您正在查看的特定扩展名匹配 - 检查是否有0
大于或等于的值。
indexOf
旧浏览器不支持,因此您需要包含一个polyfill来备份它。有几种解决方案。
当然,如果你只想使用if
语句,你可以使用这种格式:
var ext = aExtensions[i].toLowerCase();
if (ext == "jpg" || ext == "png" || ext == "gif") {
// match
}
我能想到的另一种可能性是switch
声明,例如:
var ext = aExtensions[i].toLowerCase();
switch (ext) {
case "jpg":
case "png":
case "gif":
// match
break;
case default:
// No match
}
我也可以包括它(其他答案肯定是第一个),但我能想到的另一个是使用正则表达式,例如:
if (/jpg|png|gif/i.test(aExtensions[i])) {
// match
}
但请注意,您将永远无法单独取回扩展,这就是为什么我更喜欢我给出的前两个选项之一。