Ich habe durch ein nodschool-Tutorial gearbeitet: learnyounode, die here gefunden werden kann. Ich arbeitete an Herausforderung fünf (FILTERED LS).So finden Sie die Liste der Dateien mit bestimmten Erweiterung von einem Array
Die Herausforderung war:
Erstellen Sie ein Programm, das eine Liste von Dateien in einem bestimmten Verzeichnis druckt, durch die Erweiterung der Dateien gefiltert. Sie erhalten einen Verzeichnisnamen als erstes Argument für Ihr Programm (z. B. '/ path/to/dir /') und eine Dateierweiterung, nach der nach dem zweiten Argument gefiltert wird.
Dies ist mein Code so weit:
var fs = require('fs');
var path = require('path');
extname = '.' + path.extname(process.argv[3]);
console.log(extname);
fs.readdir(process.argv[2].toString(), function(err, list) {
if (err) {
throw err;
}
list.filter(extname);
console.log(list);
});
Wie kann ich effektiv alle Dateien herauszufiltern, die als Konsole Argument angegeben werden? Hat es etwas mit path.extname zu tun? Wenn das so ist, wie? Ich habe versucht, .filter()
zu verwenden, aber das scheint nicht zu funktionieren. Könnte mir jemand auch erklären, wie .filter()
genauso gut funktioniert wie seine Argumente, da ich die Dokumentation als etwas verwirrend empfunden habe. Gibt es schließlich eine bessere Möglichkeit, die Elemente eines Arrays auf separaten Zeilen als console.log()
auszugeben?
Dank
Versuchen [MDN] (https verfügbar: // developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) –