所以,如果你这样做
fs.readdir('/path/to/empty_dir', (data, err) => console.log(data, '.....', err))
你会看到结果是:
空值 '.....' []
所以你的代码可以简化为
fs.readdir(dirname, (err, files) => { if (err && !files) { console.error(err) } console.info('the files --> ', files) let regexp = RegExp('.jpeg|.doc|.png|.zip', 'gi') for(result in files) { if(regexp.test(files[result])) { console.log('I have the following', files[result]) } }});
我们想要这种快速,现代和高效,不是吗?!
所以这更好:
fs.readdir(dirname, (err, files) => { if (err && !files) { console.error(err) } let regexp = RegExp('.jpeg|.doc|.png|.zip', 'gi'); files.filter( file => file.match(regexp) ).map( result => console.log('I have the following',result) ); });
在目录上使用地图的一个好处是,您可以保证订单的保存,它也看起来更干净。
Map是内置的可迭代的?对象不是,这并不是说Map是Object的替代品,两者都有用例。那是另一个故事。