gpt4 book ai didi

node.js - nodeschool learnyounode node.js模块FILTER LS练习

转载 作者:搜寻专家 更新时间:2023-10-31 22:45:48 25 4
gpt4 key购买 nike

下面是nodeschool learnyounode模块的习题5

创建一个程序,打印给定目录中的文件列表,按文件扩展名过滤。您将获得一个目录名称作为您程序的第一个参数(例如 /path/to/dir/)和一个文件扩展名作为第二个参数进行过滤。

例如,如果您将“txt”作为第二个参数,那么您需要将列表过滤为仅以 .txt 结尾的文件。

文件列表应该打印到控制台,每行一个文件并且必须使用异步 I/O。

var fs = require('fs');
var path = require('path');
var mydir = process.argv[2];
var ext1 = process.argv[3]
fs.readdir(mydir, function(err, files){
if(err){
throw err
}
//console.log(files);
files.forEach(function(filename){
var ext = path.extname(filename);
if(ext == ext1){
console.log(filename);
}
});
});

当我运行它时,我得到了正确的输出,但是当我使用 learnyounode 验证输出时,实际结果与预期结果不匹配

不知道我哪里错了。有人可以给我解决方案吗???

最佳答案

这是官方的解决方案:

var fs = require('fs')
var path = require('path')

fs.readdir(process.argv[2], function (err, list) {
list.forEach(function (file) {
if (path.extname(file) === '.' + process.argv[3])
console.log(file)
})
})

关于node.js - nodeschool learnyounode node.js模块FILTER LS练习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24042480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com