给定一个包含markdown文件的目录,即 "Node"。
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
.
如果我像这样修改这个脚本(所以,通过在脚本中添加一个 console.log
里面 readdir
函数)。)
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
数组正确地填充了剥离的文件名。
我如何才能正确地返回 filesNoExt
数组中的 mdFiles
函数,这样我就可以从外部访问它的内容?