J'ai un tableau d'objets. Je voudrais copier en profondeur le tableau d'objets et apporter quelques modifications à chaque objet. Je veux le faire sans modifier le tableau original ou les objets originaux qui étaient dans ce tableau.JavaScript - copier un tableau d'objets et apporter des modifications sans modifier le tableau original
C'est ainsi que je l'ai fait. Cependant, étant nouveau pour JavaScript, je veux m'assurer que c'est une bonne approche.
Y a-t-il une meilleure façon de procéder?
const users =
[
{
id : 1,
name : 'Jack',
approved : false
},
{
id : 2,
name : 'Bill',
approved : true
},
{
id : 3,
name : 'Rick',
approved : false
},
{
id : 4,
name : 'Rick',
approved : true
}
];
const users2 =
users
.map(
(u) =>
{
return Object.assign({}, u);
}
)
.map(
(u) =>
{
u.approved = true;
return u;
}
);
console.log('New users2 array of objects:')
console.log(users2);
console.log('This was original users array is untouched:')
console.log(users);
Sortie:
New users2 array of objects:
[ { id: 1, name: 'Jack', approved: true },
{ id: 2, name: 'Bill', approved: true },
{ id: 3, name: 'Rick', approved: true },
{ id: 4, name: 'Rick', approved: true } ]
This was original users array is untouched:
[ { id: 1, name: 'Jack', approved: false },
{ id: 2, name: 'Bill', approved: true },
{ id: 3, name: 'Rick', approved: false },
{ id: 4, name: 'Rick', approved: true } ]
pour juste une copie, vous pouvez utiliser '' JSON.stringify' et JSON.parse'. –