我正在通过“学习Node.js争取更多胜利! ”研讨会的方式工作,但是练习5遇到了麻烦。它要求您Create a program that prints a list of files in a given directory, filtered by the extension of the files.
我传入目录,files
其中包含各种JavaScript,Ruby和纯文本文件。应该对console.log()
每个带有.js
扩展名的文件。
var fs = require('fs');
function indexDirectory(directory) {
fs.readdir(directory, function(err, files) {
for (var i in files) {
if (i.indexOf('.js') != -1) {
console.log(files[i]);
}
}
});
}
indexDirectory('files');
当我使用时,我当前的代码什么都不输出node program.js
。我是否缺少一些异步原理?我是否使用了错误的回调?任何帮助,将不胜感激 :)
files
是数组,您应该使用forEach
而不是for .. in
var fs = require('fs');
function indexDirectory(directory) {
fs.readdir(directory, function(err, files) {
files.forEach(function (file) {
if (file.indexOf('.js') != -1) {
console.log(file);
}
});
});
}
indexDirectory('files');
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句