javascript - 使用 if 语句过滤具有多个字符串值的数据
问题描述
使用 If 语句过滤具有多个字符串值的数据
我想在一行中对文件扩展名进行排序,因为如果我不这样做,我必须编写多行代码,我认为这是浪费时间。我能在这里得到帮助吗
if (fileExtension === "jpg"||"Jpeg"||"png"||"svg"){
//do something
}
else{
//do something else
}
如果有这样的文件扩展名 jpg 那么它直接切换到 else 语句,如果我只给出 jpg ieif (fileExtension === "jpg")
那么代码运行良好我想使用多个。
解决方案
"jpg"||"Jpeg"||"png"||"svg"
是一个表达式,它将评估为第一个真值。这"jpg"
是第一个真实值,因此整个表达式变为"jpg"
. 请参阅短路评估
。
您可以将所有值存储在数组中,然后some()
在数组上使用并将其与fileExtension
"Jpeg"
可能会导致一些问题。资本J
。我建议您将所有值更改为小写,然后在内部进行比较some()
let fileExtension = "svg"
if (["jpg","jpeg","png","svg"].some(x => fileExtension.toLowerCase() === x)){
console.log("found")
}
else{
cosnole.log("not found")
}
注意:您也可以includes()
在这种情况下使用。但我更喜欢some()
,因为它允许用户与多个条件进行比较
推荐阅读
- algorithm - Raku 中的简洁(一行?)二分搜索
- pyodbc - pyodbc and unixODBC can't initiate unicode conversion error
- python - Reducing the number of queries in a Django app using a raw query
- ios - Show keyboard while clicking at custom placeholder of TextInput. SwiftUI
- rust - Rust macro to format variable number of arguments
- javascript - HTML Page looks different when generated using JS
- macos - How do I pass labeled (or named) parameters to an existing AppleScript script file via the command line (using osascript)?
- javascript - jQuery:获取框的中点,在按钮单击时将对象放在上方
- swiftui - SwiftUI:旋转的 VStack 导致出现锯齿状(“锯齿状”)绘图
- javascript - printing pdf to multiple pages using jscrip via VBA