0
votes

Comment fusionner deux matrices indexées?

J'ai l'objet suivant:

object3 = [
 { title: "id", platformOne: value, platformTwo: value},
 { title: "name", platformOne: name, platformTwo: name }, 
 { title: "env", platformOne: env, platformTwo: env }
]


2 commentaires

S'il vous plaît poster une tentative. Astuce: essayez tableau # mappe si les tableaux ont la même longueur.


Vous semblez rechercher zipwith


3 Réponses :


2
votes

Vous pouvez le faire de cette façon: xxx


3 commentaires

Vous manquez une parenthèses à l'objet de fin1.map ((Obj, IDX) => ({... Obj, ... Object2 [IDX]}));


Ouais .. désolé, maintenant est corrigé


Ceci est élégant et parfait. Exactement ce que je cherchais dans une seule ligne. Merci beaucoup!



0
votes

Il existe de nombreuses façons de faire celui-ci que vous utilisez celui que vous utilisez Réduire code>

p>

object1 = [ { title: "id", platformOne: "value" }, { title: "name", platformOne: "name" }, { title: "env", platformOne: "env" }, ];
object2 = [ { title: "id", platformTwo: "value" }, { title: "name", platformTwo: "name" }, { title: "env", platformTwo: "env" }, ];
arr = [object1, object2].flat();
res = arr.reduce(
  (r, o) => (
    !r[o.title] ? (r[o.title] = o) : (r[o.title] = { ...r[o.title], ...o }), r
  ),
  {}
);
console.log(Object.values(res));


0 commentaires

0
votes

Vous pouvez également utiliser cela aussi:

p>

var object3 = [];

object1.forEach(function(item, index){ 
object3[index] = item; 
object3[index].platformTwo = object2[index].platformTwo;
});


0 commentaires