Я работаю в учебном руководстве по узлам: learnyounode, который находится в here. Я работал над вызовом пять (FILTERED LS).Как найти список файлов с определенным расширением из массива
Проблема заключалась в следующем:
Создать программу, которая выводит список файлов в заданной директории, отфильтрованный расширением файлов. Вам будет предоставлено имя каталога в качестве первого аргумента вашей программы (например, '/ path/to/dir /') и расширение файла для фильтрации по второму аргументу.
Это мой код до сих пор:
var fs = require('fs');
var path = require('path');
extname = '.' + path.extname(process.argv[3]);
console.log(extname);
fs.readdir(process.argv[2].toString(), function(err, list) {
if (err) {
throw err;
}
list.filter(extname);
console.log(list);
});
Как эффективно отфильтровать все файлы, которые даны в качестве консольного аргумента? Имеет ли он какое-то отношение к path.extname? Если да, то как? Я пробовал использовать .filter()
, но это не работает. Кто-то также сможет объяснить мне, как работает .filter()
, а также его аргументы, поскольку я нашел документацию немного запутанной. Наконец, есть ли лучший способ вывода элементов массива на отдельные строки, чем console.log()
?
Благодаря
Попробуйте [MDN] (https: // developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) –