Sto tentando di farlo in modo funzionale (con Ramda). Il mio JSON è strutturato in questo modoRamda: Come filtrare in base a un valore in un array nidificato
[
{username: 'bob', age: 30, tags: ['work', 'boring']},
{username: 'jim', age: 25, tags: ['home', 'fun']},
{username: 'jane', age: 30, tags: ['vacation', 'fun']}
]
e sto provando a filtrare sulla base di un valore nella proprietà 'tag', ma non hanno avuto successo. Sono in grado di filtrare su ints/string (età e nome utente), ma non riesco a capire come farlo con i valori negli array annidati (tag). Qualsiasi aiuto sarebbe molto apprezzato.
che mi sembra una buona soluzione. E mi piace il modo in cui legge: "filtro in cui i tag contengono 'divertimento'" suona molto come la descrizione del problema. –
Grazie mille. Dal post ho trovato questo 'var byTag = R.curry (function (tag, items) { var containsTag = function (val) { return R.contains (tag, val.tags); }; return R .filter (containsTag, items); }); 'ma sicuramente non è bello come la tua soluzione. Per qualsiasi ragione, usando R.contains, il valore della proprietà non mi è nemmeno passato per la testa. Grazie ancora! – user3783301
Non so se altre librerie con funzioni 'where' simili consentano anche un predicato in questo posto. Siamo abbastanza contenti di questa funzione. –