Javascript Electron删除/忽略列表中的某个项目

时间:2017-05-19 18:48:50

标签: javascript node.js electron

我使用以下代码从文件夹中获取文件名:

getFilenameList = () => {

    let select = document.getElementById("filenameSelect");

    let options = [];

    fs.readdirSync(folderUrl).forEach(file => { options.push(file) })

    for (let i = 0; i < options.length; i++) {

      let opt = options[i];
      let el = document.createElement("option");

      el.textContent = opt.replace(/\.[^/.]+$/, "");

      el.value = opt;

      console.log(opt);

      select.appendChild(el);

    }

  }

这将返回如下列表:

.DS_Store
filename1.html
filenameother.js
filenames.txt

问题是它还会拾取不需要的文件,例如:.DS_Store。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您的函数返回文件夹中的所有文件,包括隐藏的.DS_Store文件。您可以选择忽略该文件

fs.readdirSync(folderUrl).forEach(file => { if(file != ".DS_Store"){options.push(file)}})

所有以。开头的文件。 (通常是隐藏文件)

fs.readdirSync(folderUrl).forEach(file => { if(file[0] != "."){options.push(file)}})

忽略所有没有特定扩展名的文件

fs.readdirSync(folderUrl).forEach(file => { if(file.includes(".html") || file.includes(".js") || file.includes(".txt")){options.push(file)}})