首页 > 解决方案 > 为什么 readdirSync 会自动对结果进行排序?

问题描述

我使用方法检索数组中的文件名fs.readdirSync(path)。为什么结果数组中的文件名是排序的?

function checkFile() {
    try {
        let imgsFolder = './images/';
        let imgs = fs.readdirSync(imgsFolder);

        fs.statSync(imgsFolder);
        return imgs;
    }

    catch (e) {
        console.log("Folder does not exist.");
        fs.mkdirSync("images/");
        console.log("Folder was created.");
    }
}

checkFile();

例如,该文件夹有以下文件:tts.jpg, array.jpg, man.jpg,但我将它们检索为array.jpg, man.jpg, tts.jpg.

标签: javascriptnode.jsfile-io

解决方案


好吧,如果您阅读了readdirSync方法引用的readdir信息,就会出现以下注释

连续调用 readdir() 读取文件名的顺序取决于文件系统的实现;名称不太可能以任何方式排序。


推荐阅读