如何筛选jsZip扫描出的根目录下.csv文件并判断是否存在?
筛选JSZip扫描结果中的根目录CSV文件
要从JSZip返回的文件路径数组里筛选出根目录下的CSV文件,直接用数组的filter方法组合两个判断条件即可:
核心筛选逻辑
- 排除包含
/的路径(确保是根目录文件) - 只保留以
.csv结尾的文件
代码实现
方法一:使用字符串原生方法(推荐,可读性高)
// 假设这是JSZip扫描得到的文件路径数组 const scannedFiles = ["xyz.csv","abc.py","aa/abc.txt","aa/fg.txt"]; // 筛选根目录下的CSV文件 const rootCsvFiles = scannedFiles.filter(filePath => { return !filePath.includes('/') && filePath.endsWith('.csv'); }); // 此时rootCsvFiles的结果就是 ["xyz.csv"]
方法二:使用正则表达式(适合复杂匹配场景)
如果需要更灵活的匹配规则,也可以用正则表达式一次性匹配两个条件:
const rootCsvFiles = scannedFiles.filter(filePath => { // 正则含义:从开头到结尾,不包含/,且以.csv结束 return /^[^\/]+\.csv$/.test(filePath); });
判断根目录是否存在CSV文件
只需要检查筛选后的数组长度是否大于0即可:
const hasRootCsv = rootCsvFiles.length > 0; // 存在的话hasRootCsv为true,不存在则为false
内容的提问来源于stack exchange,提问作者s d
相关产品推荐
相关产品推荐

