Mon code =
Ceci est mon exemple de données. p> et je reçois cela comme le résultat: p> Je devrais simplement supprimer le dept_short_name strong> et dept_long_name strong> à partir de l'objet de groupe et du groupe Cela devrait être le résultat: strong> p> p>
4 Réponses :
Vous devez recréer un objet dans vos deux cartes.
p>
const songs = [{"title":"Just Once","asset_id":"1f7e0fd8-db21-4c28-b9e1-eb0295af198c","sort":1,"performers":[{"last_name":"John","first_name":"Doe","group":{"group_id":"1e5f73fa-ffe8-4c70-a83b-84e7bf985b25","dept_short_name":"PAO","dept_long_name":"Public Affairs Office"},"email":"john@doe.com"}]}] const updated = songs.map(({ performers, ...song }) => ({ ...song, // recreate song object performers: performers.map(({ group: { group_id }, ...performer }) => ({ ...performer, // recreate performer object group_id })) })) console.log(updated)
Fonctionne comme la magie! Joli. J'ai vraiment besoin de boucler et d'utiliser la propagation pour rester ces données. Merci, nouvelles connaissances pour aujourd'hui.
@bossajie content de pouvoir aider. BTW Vous voudrez peut-être envisager d'aplanir votre état Redux pour éviter les mises à jour de nidification. Ou il y a une bibliothèque Immer code>
qui rend le code de mise à jour à regarder plus impératif.
J'utilise cela avant d'envoyer à l'API, car l'API accepte le groupe_id uniquement, pas d'objet, et dans mon extraction à l'aide d'un composant 3ème partie, j'ai besoin d'un objet de groupe pour l'afficher, c'est pourquoi je le fais. Est-ce une bonne pratique?
Je crois que c'est, à moins que vous ayez un moyen de changer l'API ou le frontend pour vous associer :)
Utiliser le mot-clé Supprimer: Supprimer Performerce ["Keyname"] Il retournera la valeur booléenne p>
En supposant que cette question a redux code> l'état de mutation des balises n'est pas une option.
{ "title": "Just Once", "asset_id": "1f7e0fd8-db21-4c28-b9e1-eb0295af198c", "sort": 1, "performers": [ { "last_name": "John", "first_name": "Doe", "group": { "group_id": "1e5f73fa-ffe8-4c70-a83b-84e7bf985b25", "dept_short_name": "PAO", "dept_long_name": "Public Affairs Office" }, "email": "john@doe.com" } ] } ] window.addEventListener('load', function() { delete songs[0].performers[0].group.dept_short_name; delete songs[0].performers[0].group.dept_long_name; console.log(JSON.stringify(songs)) }); This may help.
const songs = [{ title: "Just Once", asset_id: "1f7e0fd8-db21-4c28-b9e1-eb0295af198c", sort: 1, performers: [{ last_name: "John", first_name: "Doe", group: { group_id: "1e5f73fa-ffe8-4c70-a83b-84e7bf985b25", dept_short_name: "PAO", dept_long_name: "Public Affairs Office" }, email: "john@doe.com" }] }]; songs.map(({ performers }, ind) => { performers.map(({ group }, ind) => { performers[ind].group_id = group.group_id; }); delete performers[ind].group; }); console.log(songs);