Donc j'ai ce tableau principal :
const purchaseData = [
{
product_id: "product_id_1",
localized_title: "Product Title 1",
... other attributes
},
{
product_id: "product_id_2",
localized_title: "Product Title 2",
... other attributes
},
Et j'aimerais remplacer le titre localisé par un tableau qui contient un titre localisé mis à jour pour certains product_ids.
exemple :
updatedData = [
{
product_id: "product_id_1",
localized_title: "Updated Product Title 1",
...other random attributes // different from the attributes in the objects of purchaseData
},
];
Dans ce cas, seul le premier enfant de la purchaseData doit voir son localized_title mis à jour. Existe-t-il une manière élégante de procéder sans utiliser For...lopps et sans modifier les données ? J'ai essayé de nombreuses façons, mais je semble écrire trop de lignes de code (pas très propre).
C'est ce que j'ai essayé :
const updatedData = purchaseData.map(obj => {
const foundObject = originalProducts.find(
o => o.product_id === obj.product_id,
);
const localized_title = foundObject && foundObject.localized_title
if (localized_title) {
return {...obj, localized_title}
}
return obj;
});