如何解决使用通配符inTypescript / Node.js遍历目录中的文件
我通常是使用Typescript / Node和编程的初学者,但是我在SO和整个Internet上都看过一遍,无法真正找到与看起来像是一项常见任务的类似问题。
所以我有一个来自存储在变量中的目录中的文件名数组。我基本上需要搜索数组并基于通配符查找文件名。
我需要遍历数组,找到与“消息”匹配的所有内容,然后打印出文件名。我已经尝试过类似以下的方法,但是它没有满足我的需求。
let files: any = [ 'message-out-bar.log','agent-all.log','messages-out-tabular238.log' ]
for (let i in files) {
if (files[i].indexOf('messages') > -1) {
console.log(i);
}
}
此外,我想避免使用RegeX或glob之类的东西。
解决方法
您的方法是正确的,但是您不需要显示i
(它是数组的索引),而是显示files[i]
(它是数组的一项)。
此外,还有另一种使用fitler()和includes()方法获得预期结果的方法:
let files = [ 'message-out-bar.log','agent-all.log','messages-out-tabular238.log' ]
const target = 'messages';
const similars = files.filter(f => f.includes(target));
console.log(similars);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。