В основном это просто размышления.
У вас есть формат mm.dd.yyyy.txt
.
Теперь мы можем написать быструю функцию для сравнения двух дат:
// Assume f1, f2 are filenames
function compareDates(f1, f2) {
var d1 = f1.split("."),
d2 = f2.split(".");
var temp;
temp = d1[2];
d1[2] = d1[1];
d1[1] = temp;
temp = d2[2];
d2[2] = d2[1];
d2[1] = temp;
for (var i = 2; i >= 0; i--) {
if (parseInt(d1[i]) < parseInt(d2[i]))
return f1;
else if (parseInt(d1[i]) > parseInt(d2[i]))
return f2;
}
return f1;
}
Эта функция будет принимать два имени файла в качестве входных данных и выводить имя файла с более ранней датой.Если у вас есть эта функция, вы можете просто перебрать свой список следующим образом:
var earliest = [items[0], items[1]];
var index = 0;
if (compareDates(items[0], items[1]) == items[1])
index++;
items.forEach(function(file) {
if (compareDates(earliest[index], file) == file) {
earliest[index] = file;
if (compareDates(earliest[index], earliest[!index]) == earliest[!index])
index = !index;
}
});
В этот момент массив earliest
будет содержать два имени файла с самыми ранними датами.Надеюсь, что это помогло!
РЕДАКТИРОВАТЬ: Как сказал другой, вы можете удалить фактический файл, как это:
fs.unlink(filename, function(err) {
if (err)
throw err;
console.log(`${filename} deleted.`);
});