Ajuster un ensemble d'objets contenant des valeurs clés

Disons que j'ai le tableau suivant d'objets stockant une seule paire clé / valeur:

var someArray = [ {foo: 1}, {bar: 2} ]; 

J'aimerais aplatir ce tableau dans un seul objet, où chaque clé des objets d'origine devient une propriété du nouvel objet unique comme ceci:

 someObject = { foo: 1, bar: 2 } 

Je disposerai toujours de clés uniques, et je n'aurai jamais qu'un jumelage de clé / valeur.

Je sais si je boucle le tableau dans une foreach, alors je peux seulement accéder à l'index et à la valeur de l'élément, par exemple

 0: {foo: 1} 

Je veux être en mesure de bouger et, lors de l'accès à l'élément, lisez la clé et la valeur séparément afin que je puisse ajouter mon nouvel objet.

J'ai l'impression que lodash devrait être capable d'aider ici, mais je suis en difficulté pour trouver ce que ses méthodes pourraient aider.

Quelqu'un peut me diriger dans la bonne direction?

Merci

Vous pouvez itérer et utiliser Object.assign pour obtenir un nouvel objet avec toutes les propriétés.

 var someArray = [{ foo: 1 }, { bar: 2 }], result = someArray.reduce(function (r, a) { return Object.assign(r, a); }, {}); console.log(result); 

Pas besoin de lodash ici, vous pouvez simplement utiliser Object.assign() et diffuser la syntaxe.

 var someArray = [ {foo: 1}, {bar: 2} ]; var obj = Object.assign({}, ...someArray) console.log(obj) 

Cela peut être fait rapidement en utilisant reduce et Object assign :

 var someArray = [ {foo: 1}, {bar: 2} ]; var result = someArray.reduce((acc, obj) => Object.assign(acc, obj), {}) console.log(result) 
 .as-console-wrapper { max-height: 100% !important; top: 0; }