Ich habe ein Objekt der Ordner/Dateien, die wie folgt aussieht:Underscore.js Findwhere verschachtelte Objekte
{
about.html : {
path : './about.html'
},
about2.html : {
path : './about2.html'
},
about3.html : {
path : './about3.html'
},
folderName : {
path : './folderName',
children : {
sub-child.html : {
path : 'folderName/sub-child.html'
}
}
}
}
Und es kann 6-7 Ebenen tief von Ordnern mit Kindern gehen.
Ich möchte das Objekt finden, wo Pfad ist gleich einer Zeichenfolge, die ich zur Verfügung stellen. Egal wie tief es ist.
Ich Strich verwendet, die nur Top-Level tut:
_.findWhere(files,{path:'./about2.html'}
Wie kann ich eine tiefe, verschachtelte Suche. Hat Underscore etwas dafür oder muss ich ein Mixin mit Rekursion erstellen?
Die Rückgabe false ist da, wenn lodash aus der Schleife ausbricht, wenn ein Wert gefunden wird, nicht sicher, ob Unterstreichung das unterstützt, durch den Code zu schauen, vielleicht {} würde es ausbrechen lassen, aber ich bin mir nicht sicher. – dariusriggins
Funktioniert gut, danke eine Tonne! – wesbos
Große Lösung, wirkt wie ein Charme. Ich frage mich, warum dies standardmäßig nicht in US/LD eingebaut ist! – dbau