Я пытаюсь выполнить поиск файлов на основе массива имен файлов и каталога root. Я обнаружил некоторые фрагменты поиска файлов в Интернете, которые, кажется, работают, когда я нахожу только 1 отдельный файл, но он не будет работать, если указано более 1 файла. Ниже приведен фрагмент:
const fs = require('fs');
const path = require('path');
var dir = '<SOME ROOT DIRECTORY>';
var file = 'Hello_World.txt'
var fileArr = ['Hello_World.txt', 'Hello_World2.txt', 'Hello_World3.txt'];
const findFile = function (dir, pattern) {
var results = [];
fs.readdirSync(dir).forEach(function (dirInner) {
dirInner = path.resolve(dir, dirInner);
var stat = fs.statSync(dirInner);
if (stat.isDirectory()) {
results = results.concat(findFile(dirInner, pattern));
}
if (stat.isFile() && dirInner.endsWith(pattern)) {
results.push(dirInner);
}
});
return results;
};
console.log(findFile(dir, file));
Есть ли у вас какие-нибудь мысли о том, как я могу заставить это работать с массивом, а не с одной строкой файла?
Кажется, что работает следующее, но не знал, есть ли другие способы сделать это, которые могут быть проще:
newFileArr = [];
fileArr.forEach((file => {
//findFile(dir, file).toString();
console.log(findFile(dir, file).toString());
}));