zurückgeben Ich konnte nicht auf StackoverlFlow eine Lösung dafür finden, und ich habe an diesem Problem seit einiger Zeit gearbeitet. Es ist ein bisschen schwierig, also lass es mich wissen, wenn ich mehr Informationen geben sollte.Versuchen, ein tief verschachteltes Objekt mit Lodash
Mein Problem: Ich habe ein JSON-Objekt von Lands, jedes Land hat eine ID und ein Blocks-Array zugeordnet und das Blöcke Array hat Block mit IDs auch.
Vorschau:
var Lands = [{
'LandId':'123',
'something1':'qwerty',
'something2':'qwerty',
'Blocks': [
{
'id':'456',
'LandId':'123'
},
{
'BlockId':'789',
'LandId':'123'
}
]
},
...More Land Objects];
Hinweis: Die Daten sind nicht Setup die Art, wie ich es getan hätte, aber das war vor langer Zeit getan, und ich habe mit dem arbeiten, was ich habe jetzt für.
Ich versuche, eine lodash-Funktion zu schreiben, die die BlockId, die ich habe, zu nehmen und sie übereinstimmen und die LandId aus den Blöcken zurückgeben wird.
so das Endergebnis wäre eine Liste von LandId, die von den Blöcken zurückgegeben wurden.
Ich war so etwas wie diese verwenden und es zurückkehrte keine Ergebnisse:
selectedLand = function(Lands, landIDs){
return _.filter(Lands, function(land){
return land === landIDs[index];
});
};
Ich weiß, dass ich über das der falsche Weg werde und möchte die geeignete Art und Weise wissen, dass dies zu nähern und es zu lösen. jede Hilfe wird sehr geschätzt.
Das war ein großartiges Beispiel, und ich arbeite mich jetzt die Unterlagen durch, was der wirkliche Unterschied zwischen lodash und ramda.js sein würde? – Keeano
@Keeano Sie können auf ähnliche Weise verwendet werden. Lodash ist beliebter und hat mehr Hilfsfunktionen (wie _.camelCase) und kann nicht alles curry (es kann etwas. Aber nicht alles). Ramda ist eine praktische Funktionsbibliothek, mit der Sie Funktionen ganz einfach curren und leiten können. [Hier ist die gleiche Lösung mit ramda.] (Https://jsbin.com/wopibiwidi/edit?js,console). Es gibt einige Beispiele, aber es läuft auf die Liste '|> R hinaus.Filter |> R.any |> R.enthält '. Sehr ähnlich zu lodash (da es dieselbe Logik ist), aber Ramda wird einfacher, da Sie mit komplexeren Transformationen erweitern müssen. – user01
Ich bin auf ein Problem fest und habe keine Arbeit gefunden ... würden Sie mir helfen, wenn ich Ihnen meine E-Mail zur Verfügung stellen kann? ich habe die docs durchgelesen, wie sie es beschrieben haben, und ich bekomme immer noch eine komische rückkehr ... ich benutze deinen filter und verbessere ihn etwas, um etwas anderes zu bekommen. – Keeano