Javascript 确定字符串是否包含数组[NODEJS]中的子字符串
我正在尝试创建一个搜索函数,该函数应该能够在给定各种搜索参数的情况下找到多种文件类型 例如,我希望向我的应用程序提供以下筛选器数组['.ini'、'.exe'、'.dsak_'],并将找到的每个文件与该数组进行比较,以确定文件名是否包含其中一个字符串 目前我正在使用以下代码Javascript 确定字符串是否包含数组[NODEJS]中的子字符串,javascript,arrays,node.js,substring,Javascript,Arrays,Node.js,Substring,我正在尝试创建一个搜索函数,该函数应该能够在给定各种搜索参数的情况下找到多种文件类型 例如,我希望向我的应用程序提供以下筛选器数组['.ini'、'.exe'、'.dsak_'],并将找到的每个文件与该数组进行比较,以确定文件名是否包含其中一个字符串 目前我正在使用以下代码 for(变量i=0;i
for(变量i=0;i }
我想您正在寻找以下代码:
files.filter((file) =>
// apply filters on files to check if it matches
filters.some((filter) => file.includes(filter))
)
我认为您正在寻找以下代码:
files.filter((file) =>
// apply filters on files to check if it matches
filters.some((filter) => file.includes(filter))
)
可以帮助您查找至少与一个筛选器匹配的任何文件,并确保在找到第一个匹配筛选器后立即停止:
var matchingFiles = files.filter(file => filters.some(filter => file.includes(filter)));
可以帮助您查找至少与一个筛选器匹配的任何文件,并确保在找到第一个匹配筛选器后立即停止:
var matchingFiles = files.filter(file => filters.some(filter => file.includes(filter)));
使用正则表达式.array.join(“|”)然后执行regex.match将很容易,但性能保持不变。性能差异是否已经过测试?我假设使用regex在更大的周期中会有一点优势。@user1893706以什么方式更好地参考rajesh提供的代码片段(我在这里的答案中也包括了这个代码片段)?完成的速度?更少的内存使用?这里有太多可能的正确答案。使用正则表达式.array.join(“|”)很容易,然后执行regex.match,但性能保持不变。性能差异是否已经过测试?我假设使用regex在更大的周期中会有一点优势。@user1893706以什么方式更好地参考rajesh提供的代码片段(我在这里的答案中也包括了这个代码片段)?完成的速度?更少的内存使用?这里有太多可能的正确答案。是的,在这种情况下查找比减少好。谢谢@Jonasw,我现在明白了。是的,在这种情况下查找比减少好。谢谢@Jonasw,我现在明白了。