-1
votes

Créer un objet Array en ajoutant la valeur de la clé en fonction de la touche correspondante en JavaScript

Comment créer un nouveau tableau d'objet en ajoutant une propriété dans JVAScript

J'ai deux objets de tableau obj1 code> et obj2 code>, p>

si Obj2 cod> et obj1 code> valeur clé code code> correspondance, puis ajouter la clé sid code> avec la valeur comme ID p> xxx PRE>

Sortie attendue: P>

[ 
 { id:1, code:"item1", color:"blue", sid: 1,3 },
 { id:2, code:"item2", color: "white", sid: 2 }
]


4 commentaires

SID: 1,3 Est-ce une chaîne ou un tableau? Aussi votre exemple a des erreurs de syntaxe


@EvolutionXBox merci pour la réponse, String


Qu'est-il arrivé à l'article brun?


@EvolutionXBox Désolé, code mis à jour


3 Réponses :


0
votes

Voici une solution potentielle: xxx

qui produit: xxx


0 commentaires

0
votes

Vous pouvez prendre une table de hachage et cartographier le nouveau tableau.

p>

.as-console-wrapper { max-height: 100% !important; top: 0; }


0 commentaires

0
votes

Vous aurez peut-être besoin de Réduire code> ici:

p>

var obj1=[ { id:1, code:"item1", color:"blue" }, { id:2, code:"item2", color: "white" }, { id:3, code:"item2", color: "brown" }];

var obj2=[ { id:1, code:"item1", stock: 10 }, { id:3, code:"item1", stock: 20 }, { id:2, code:"item2", stock: 20 }]

var result = Object.values([...obj1,...obj2].reduce((acc, {code, color, id, ...rest})=>{
    acc[code] = acc[code] || {code, id, color, sid:[]};
    if(rest.stock) acc[code].sid.push(id);
    return acc;
},{})).map(({sid,...rest})=>({...rest, sid:sid.join(',')}));

console.log(result);


0 commentaires