如何修改JS函数extnExtractor,使无文件扩展名时返回false?
修改后的文件扩展名提取函数
原函数在处理无扩展名的文件名时会返回文件名本身,现在我们调整逻辑,让这类场景返回false:
function extnExtractor(a) { const parts = a.split('.'); // 无有效扩展名的情况:没有点、点在开头、点在末尾 if (parts.length <= 1 || parts.at(-1) === '' || a.startsWith('.')) { return false; } return parts.pop(); } // 测试示例 const result1 = extnExtractor('resume.pdf'); console.log(result1); // 输出: pdf const result2 = extnExtractor('doc'); console.log(result2); // 输出: false const result3 = extnExtractor('archive.tar.gz'); console.log(result3); // 输出: gz const result4 = extnExtractor('.bashrc'); console.log(result4); // 输出: false const result5 = extnExtractor('note.'); console.log(result5); // 输出: false
逻辑说明
- 用
split('.')拆分文件名,通过数组长度判断是否存在分隔点 - 排除文件名以
.开头(如隐藏文件)或结尾(如note.)的无效情况 - 仅当存在有效分隔点且后缀不为空时,返回扩展名;其余情况返回
false
内容的提问来源于stack exchange,提问作者Aahad
相关产品推荐
相关产品推荐

