Próbuję to osiągnąć w sposób funkcjonalny (z Ramda). Moje JSON jest skonstruowany jak toRamda: Jak filtrować w oparciu o wartość w zagnieżdżonej tablicy
[
{username: 'bob', age: 30, tags: ['work', 'boring']},
{username: 'jim', age: 25, tags: ['home', 'fun']},
{username: 'jane', age: 30, tags: ['vacation', 'fun']}
]
i próbuję filtrować na podstawie wartości nieruchomości „Tagi”, ale nie były udane. Jestem w stanie filtrować na int/ciągi (wiek i nazwa użytkownika), ale nie mogę wymyślić, jak to zrobić z wartościami w zagnieżdżonych tablicach (znacznikach). Każda pomoc byłaby bardzo cenna.
który wygląda mi na miłe rozwiązanie. I podoba mi się sposób, w jaki brzmi: "filtr, w którym znaczniki zawierają" zabawę "" brzmi bardzo podobnie do opisu problemu. –
Dziękuję bardzo. Od czasu opublikowania wpadłem na ten temat: "var byTag = R.curry (function (tag, items) { var containsTag = function (val) { return R.contains (tag, val.tags); }; return R .filter (containsTag, items); }); 'ale zdecydowanie nie jest tak piękny jak twoje rozwiązanie. Z jakiegoś powodu użycie R.contains jako wartości nieruchomości nawet nie przyszło mi do głowy. Dzięki jeszcze raz! – user3783301
Nie wiem, czy inne biblioteki z podobnymi funkcjami 'where' również zezwalają na predykat w tym miejscu. Jesteśmy bardzo zadowoleni z tej funkcji. –