[英]How can I use Node.js to check if a directory is empty?
我很久以前就問過PHP這個問題 。 同樣適用於Node.js,下面的代碼在循環中使用時似乎有點慢-是否有辦法在沒有插件或React.js等的純Node.js原始JavaScript中編寫此代碼?
const dirname = 'cdn-assets/'
fs.readdir(dirname, function(err, files) {
if (err) {
// some sort of error
} else {
if (!files.length) {
// directory appears to be empty
}
}
});
另外,我可以寫進一步的條件來檢查:
if(directory_has_these_files('.js, .css, .jpg, .svg, .mp4'))
所以如果你這樣做
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是內置的可迭代的— Object不是,這並不是說Map是Object的替代品,兩者都有用例。 那是另一個故事。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.