我正在使用node-dir包(https://www.npmjs.org/package/node-dir)从路径中递归列出文件,但我无法成功为我的结果添加过滤器。
例如,我想在结果数组中只使用'mp3'扩展名的文件。 有谁知道我怎么能这样做?
dir.files(__dirname, function(err, files.filter(ismp3file)) {
if (err) throw err;
console.log(files);
});
function ismp3file(elmt){return element.substr((~-element.lastIndexOf(".") >>> 0) + 2) === "mp3";}
我试图添加过滤器,但是我收到了错误。
感谢您的帮助
答案 0 :(得分:1)
试试这个:
var dir = require('node-dir');
function isMp3File(file) {
return (file.indexOf(".mp3") > -1);
}
dir.files(__dirname, function(err, files) {
if (err) throw err;
files = files.filter(isMp3File);
console.log(files);
});
或者,如果您希望验证文件以 .mp3结尾,则可以添加string.js
作为依赖项:
var dir = require('node-dir'),
S = require('string');
function isMp3File(file) {
return (S(file).endsWith('.mp3'));
}
dir.files(__dirname, function(err, files) {
if (err) throw err;
files = files.filter(isMp3File);
console.log(files);
});