我正在尝试创建一个搜索功能,该功能应该能够在给定各种搜索参数的情况下找到多种文件类型。
例如,我想为我的应用程序提供以下过滤器数组['.ini','。exe','dsak_'],并比较针对该数组找到的每个文件,以确定文件名是否包含其中一个字符串
目前我正在使用以下代码
for(var i = 0; i < filter.length; i++){
if(file.includes(filter[i])) results.push(file);
}
但是我希望看看有没有更好的方法来实现这个目标?
答案 0 :(得分:1)
我认为您正在寻找以下代码:
files.filter((file) =>
// apply filters on files to check if it matches
filters.some((filter) => file.includes(filter))
)
答案 1 :(得分:1)
Array.prototype.filter可以帮助您找到与至少一个过滤条件匹配的任何文件,Array.prototype.some将确保您在找到第一个匹配过滤条件后停止:
var matchingFiles = files.filter(file => filters.some(filter => file.includes(filter)));