我有一个文件夹,里面有文件:
s1, s2, s3, ... s9, s10, s11, ... s99, s100, s101, s102, s103, ...,
和打印这些文件列表的脚本:
filesystem = require('fs');
filesystem.readdirSync('./folder').forEach(function (file) {
console.log(file);
});
但是我得到一个像这样的无序列表:
s0, s1, s10, s100, s101, s102, s103, ... s11, s110, s111, s112, s12
我知道一个原因,但我想获得“数字”有序列表,如下所示:
s1, s2, s3, ... s9, s10, s11, ... s99, s100, s101, s102, s103, ...,
最佳答案
您可以使用 Array.prototype.sort通过剥离 s
并将其余部分解析为数字来对数组进行排序:
filesystem = require('fs');
var result = filesystem.readdirSync('./folder').sort(function (a, b) {
return (+a.substr(1)) - (+b.substr(1));
});
关于javascript - 通过 Javascript 获取有序的文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34743446/