soluzione piccolo ES6 può assomigliare:
var arr = [{key:"11", value:"1100"},{key:"22", value:"2200"}];
var object = arr.reduce(
(obj, item) => Object.assign(obj, {[item.key]: item.value}) ,{});
Inoltre, se si utilizza la diffusione oggetto, di quanto possa sembrare:
var object = arr.reduce((obj, item) => ({...obj, {[item.key]: item.value}}) ,{});
Un'altra soluzione che è il 99% più veloce è (testato su jsperf):
var object = arr.reduce((obj, item) => (obj[item.key] = item.value, obj) ,{});
Qui beneficiamo dell'operatore virgola, valuta tutte le espressioni prima della virgola e restituisce un ultimo (dopo l'ultima virgola). Quindi non copiamo obj
ogni volta, piuttosto assegnandogli una nuova proprietà.
fonte
2017-06-02 09:14:18
quale lingua si desidera utilizzare per convertirlo? – silicakes
@ Mike86 Voglio usare JavaScript –
Accettate quanto sopra come stringa? – silicakes