【发布时间】:2020-09-09 15:28:29
【问题描述】:
给定一个包含降价文件的目录,即
myDir
|- fileA.md
|- fileB.md
|- fileC.md
|- fileD.md
我正在尝试通过删除文件扩展名来创建这些文件的数组。
我正在尝试这个:
var mdFiles = fs.readdir('myDir', (err, files) => {
const filesNoExt = []
files.forEach( file => {
filesNoExt.push(file.slice(0, -3)
})
return filesNoExt
});
console.log(mdFiles)
但是console.log 命令的结果是undefined。
如果我像这样修改此脚本(因此,通过在 readdir 函数中添加 console.log):
var mdFiles = fs.readdir('myDir', (err, files) => {
const filesNoExt = []
files.forEach( file => {
filesNoExt.push(file.slice(0, -3)
})
console.log(filesNoExt)
});
console.log(mdFiles)
这是我得到的:
undefined
[
'fileA',
'fileB',
'fileC',
'fileD'
]
第一行是undefined,和之前一模一样,但它也打印了函数内部console.log的结果,这表明filesNoExt数组正确地填充了剥离的文件名。
如何正确地从mdFiles 函数返回filesNoExt 数组,以便我也可以从外部访问其内容?
【问题讨论】:
标签: javascript node.js fs