Ich versuche, dies auf eine funktionale Weise (mit Ramda) zu erreichen. Meine JSON ist wie diesRamda: Wie filtert man basierend auf einem Wert in einem verschachtelten Array
[
{username: 'bob', age: 30, tags: ['work', 'boring']},
{username: 'jim', age: 25, tags: ['home', 'fun']},
{username: 'jane', age: 30, tags: ['vacation', 'fun']}
]
strukturiert und ich versuche, basierend auf einem Wert in der ‚Tags‘ Eigenschaft zu filtern, aber noch nicht erfolgreich gewesen. Ich bin in der Lage, auf Ints/Strings (Alter und Benutzername) zu filtern, aber ich kann nicht herausfinden, wie dies mit Werten in verschachtelten Arrays (Tags) zu tun. Jede Hilfe würde sehr geschätzt werden.
das sieht aus wie eine nette Lösung für mich. Und ich mag die Art, wie es liest: "Filter, wo Tags enthält" Spaß "" klingt sehr ähnlich wie die Problembeschreibung. –
Vielen Dank. Seit dem Posten habe ich diese "var byTag = R.curry (Funktion (tag, items)) { var enthält Tag = Funktion (val) { Rückkehr R.contains (Tag, val.tags); }; Rückkehr R .filter (containsTag, items); }); 'aber es ist definitiv nicht so schön wie deine Lösung. Aus irgendeinem Grund, die R. contains als Eigenschaft Wert verwenden, kam mir nicht einmal in den Sinn. Danke noch einmal! – user3783301
Ich weiß nicht, ob andere Bibliotheken mit ähnlichen 'Where'-Funktionen auch ein Prädikat an dieser Stelle erlauben. Wir sind sehr glücklich mit dieser Funktion. –