J'aimerais savoir comment attribuer des valeurs à la propriété d'objet dans un objet imbriqué par J'ai deux objets, j'ai besoin d'appliquer une propriété objet à une autre à l'aide de JavaScript P> Je suis resté coincé et je ne sais pas comment procéder, p> id = insta code> dans javascript
3 Réponses :
Comme votre sortie attendue montre que vous ne voulez que les éléments dont Remarque: strong> Vous devez créer un autre objet car le nom de propriétés dans p> id = "Insta" code> permettent donc Filtre () CODE> pour obtenir ceux-ci. Ensuite, utilisez Carte () Code> et créer un objet temporaire dans la carte. Et renvoyez l'objet combiné à l'aide de l'opérateur de répression. obj2 code> et le tableau sont différents. p> var obj1 = [ { id: "insta", rate: "2.4", fee: "0", amount: "400" }, { id: "trans", rate: "1.4", fee: "0", amount: "200" }]
var obj2 = { data: { rate_value: "4.4", fee_value: "10", targetamount: "5000", country_code: "SG" } }
const res = obj1.filter(x => x.id === "insta").map(x => {
const {data} = obj2
let temp = {
rate : data.rate_value,
fee : data.fee_value,
amount : data.targetamount,
country_code : data.country_code
}
return {...x,...temp}
})
console.log(res)
@brk peut-être que c'est due à répondre simplement à la question qui ne s'explique pas. Boney Vous devriez expliquer la solution que vous avez écrite. Peut-être que votre solution a raison et aiderait l'OP. Mais je ne peux pas aider les autres personnes à voir la réponse plus tard.
@Boney Mettez à jour la réponse avec une sorte d'explication que je vais uppoter.
Merci. J'ai ajouté l'explication.
Tout d'abord, vous pouvez .Filter Le tableau pour contenir un objet avec Quelque chose comme ça: p> ID = "Insta" code> puis appliquez les données de obj2 code> à chacun des éléments à l'aide de Array.map . var obj1 = [{
id: 'insta',
rate: '2.4',
fee: '0',
amount: '400',
},
{
id: 'trans',
rate: '1.4',
fee: '0',
amount: '200',
},
];
var obj2 = {
data: {
rate_value: '4.4',
fee_value: '10',
targetamount: '5000',
country_code: 'SG',
},
};
const result = obj1
.filter(item => item.id === 'insta')
.map(item => ({
id: item.id,
rate: obj2.data.rate_value,
fee: obj2.data.fee_value,
amount: obj2.data.targetamount,
country_code: obj2.data.country_code,
}));
console.log(result)
Voulez-vous que toutes les propriétés d'obj2 soient dans l'objet RES ou juste Country_Code?
Comment les propriétés sont-elles mappées? Cela ne ressemble pas à un critère raisonnable.
Rate_Value Code> devientTaux code>, tandis queTargetMount code> devientmontant code>?