Update (08. febbraio)
Dal v4.0.1, _.omitBy e _.pickBy ora fornire un parametro chiave per il predicato. Pertanto, la risposta corretta ora è:
Usa _.pickBy(object, [predicate=_.identity])
risposta originale
Partendo v4, alcuni metodi sono stati suddivisi. Ad esempio, _.pick() è stato suddiviso in _.pick(array, [props])
e _.pickBy(object, [predicate=_.identity])
Il mio primo approccio è stato provare questo metodo _.pickBy()
. Sfortunatamente tutti i metodi ...By()
vengono passati solo il valore come primo argomento. Non riceveranno la chiave o la raccolta passata. Ecco perché non funziona semplicemente passando da _.pick()
a _.pickBy()
.
Tuttavia, si può fare in questo modo:
var thing = {
"a": 123,
"b": 456,
"abc": 6789
};
var result = _.pick(thing, _(thing).keys().filter(function(key) {
return _.startsWith(key, "a");
}).value());
console.log(result)
_.pick() in v4 non più accettare un predicato. Ecco cosa sta facendo _.pickBy. Vedi la mia risposta per maggiori dettagli. – NicBright