Sto utilizzando l'eccellente libreria Underscore.js. Ho un compito specifico che posso fare bene usando JavaScript o jQuery, ma mi chiedevo se ci fosse una sorta di astrazione disponibile in Underscore che mi stavo perdendo.Underscore.js: crea una mappa dall'elenco degli oggetti utilizzando una chiave trovata nell'oggetto
Essenzialmente Ho un oggetto in questo modo -
var some_object_array = [{id: "a", val: 55}, {id: "b", val: 1}, {id: "c", val: 45}];
voglio convertire questo in -
var some_map = {"a": {id: "a", val: 55}, "b": {id: "b", val: 1}, "c": {id: "c", val: 45}};
So che posso usare _.groupBy(some_object_array, "id")
. Ma questo restituisce una mappa come questa -
var some_grouped_map = {"a": [{id: "a", val: 55}], "b": [{id: "b", val: 1}], "c": [{id: "c", val: 45}]};
Si noti che questo fa ciò che è pubblicizzato da fare. Ma speravo di ottenere some_map
senza iterare sugli oggetti da solo.
Qualsiasi aiuto apprezzato.
è * così * utile che definisco sempre 'mapo = _.compose (_. Object, _.map);' –
Sembra che '_.object()' sia stato rimosso. È un'alternativa a questo ancora disponibile in underscore? –
Correggimi se sbaglio, ma penso che con lodash potresti anche usare la singola funzione '_.transform'. – emkman