Comment créer un nouveau tableau d'objet en ajoutant une propriété dans JVAScript
J'ai deux objets de tableau si Sortie attendue: P> obj1 code> et obj2 code>, p> Obj2 cod> et obj1 code> valeur clé code code> correspondance, puis ajouter la clé sid code> avec la valeur comme ID p> [
{ id:1, code:"item1", color:"blue", sid: 1,3 },
{ id:2, code:"item2", color: "white", sid: 2 }
]
3 Réponses :
Voici une solution potentielle: qui produit: p>
Vous pouvez prendre une table de hachage et cartographier le nouveau tableau.
p>
.as-console-wrapper { max-height: 100% !important; top: 0; } Vous aurez peut-être besoin de p> Réduire code> ici: 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);
SID: 1,3 code> 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