/ / Node.js - pobierz ostatni podkatalog w katalogu przez wyszukiwanie alfabetyczne - node.js, unix, search, filesystems

Node.js - pobierz ostatni podkatalog w katalogu według alfabetycznego wyszukiwania - node.js, unix, search, filesystems

Korzystając z Node.js, szukam zgrabnego sposobu na znalezienie najnowszego podkatalogu w katalogu, w którym podkatalog jest ostatnim, jeśli są posortowane alfabetycznie / numerycznie.

Wszystkie podkatalogi są nazywane datownikiem, tak jak poniżej:

- parent dir
--- 494985839399
--- 232111234483
--- 334433885832
--- 112221994948
... etc

Teraz zakładam, że kiedy czytasz katalog i przeglądasz jego zawartość, nie ma gwarancji, że zostanie posortowany według recency lub alfabetycznie?

Więc szukam dobrego sposobu na znalezienie tego podkatalogu oprócz wyszukiwania brutalnej siły O (n). Niestety, oczywiście nie będę znał nazwy tego katalogu, co sprawi, że wyszukiwanie lub sortowanie będą konieczne.

Jaki jest najlepszy sposób, aby to zrobić za pomocą Node? Może być synchroniczny lub asynchroniczny, ponieważ nie jest to serwer.

Odpowiedzi:

1 dla odpowiedzi № 1

Możesz użyć readdir, aby pobrać katalogi w tablicy, a następnie posortować tablicę. Lubię to:

var fs = require("fs");
var result = fs.readdirSync("parentDir").sort().reverse();
var subdir = result[0];

Nie jest to wcale zoptymalizowane (na przykład, możesz dokonać asynchronizacji readdir i utworzyć niestandardową funkcję sortowania sortującą malejąco).

W jednej linii:

var result = require("fs").readdirSync("parentDir").sort().reverse()[0];

(Nie testowałem kodu)