1. Définition
Copier signifie copier. Que fait la copie ? Il s'agit de copier un tableau. Mais pendant le processus de copie, parfois nous ne voulons pas modifier le tableau d'origine, mais simplement modifier le tableau copié. À ce stade, nous utilisons des méthodes approfondies. copie.
2. Méthodes pour mettre en œuvre la copie approfondie
Copie profonde : lors de la copie d'un tableau, les références dans le tableau ne seront pas importées, mais un tout nouveau tableau sera obtenu. Nos opérations sur ce nouveau tableau n'affecteront pas le tableau d'origine
.
1. Sérialisation et désérialisation
let obj=[{
name:"小明"}];
let newArr = JSON.parse(JSON.stringify(obj));
2. Lodash est une bibliothèque d'outils JavaScript couramment utilisée qui fournit de nombreuses fonctions d'outils pratiques, notamment la fonction de copie approfondie cloneDeep(). Utilisez la méthode lodash.cloneDeep()
var obj = {
a: 1, b: {
c: 2}};
var copy = _.cloneDeep(obj);
Copie superficielle : la référence sera importée lors de la copie, et la modification du nouveau tableau affectera également le tableau d'origine (uniquement les données de référence dans l'aiguille)
Implémenter une copie superficielle
1. Symbole d'affectation =
2. Utiliser la méthode Object.assign()
var obj = {
a: 1, b: {
c: 2}};
var copy = _.cloneDeep(obj);
3. Utilisez l'opérateur de propagation
var obj = {
a: 1, b: 2};
var copy = {
...obj};