Array nach dir und Dateinamen sortieren
Sahra
- javascript
0 Sahra
Hi,
ich versuche eine Navigation in Nodejs zu bauen und bekomme ein array zurück
[ 'de', 'deff.php', 'en', 'testify.php' ]
Nun will ich das erst nach Verzeichnisssen und dann Dateinamen alphabetisch sortieren.
Meinen Ansatz finde ich auch garnicht so schlecht, funktioniert aber leider garnicht.
var files = fs.readdirSync(dir)
.map(function(v) {return { name:v};
})
.sort(function(a, b) {
if(a.name.search(/\./) == b.name.search(/\./)){
console.log('Case1',a,b);
return a.name - b.name
}
if(b.name.search(/\./) == -1){
console.log('Case2',a,b,b.name.search(/\./));
return -1
}
if(a.name.search(/\./) == -1){
console.log('Case3',a,b);
return 0
}
}
).map(function(v) { return v.name; });
Hat das jemand von euch schon mal gesschafft. Ergebnis soll halt
de en deff.php testify.php werden
Bis dann
S
Oh Mann .... ahhhhh .... Wald Bäume
jetzt gehts
var files = fs.readdirSync(dir)
.map(function(v) {return { name:v};
})
.sort(function(a, b) {
if(a.name.search(/\./) == b.name.search(/\./)){
console.log('Case1',a,b);
return a.name - b.name
}
if(b.name.search(/\./) != -1){
console.log('Case2',a,b,b.name.search(/\./));
return -1
}
if(a.name.search(/\./) != -1){
console.log('Case3',a,b);
return 1
}
}
).map(function(v) { return v.name; });