[Copie approfondie et copie superficielle]

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};

Je suppose que tu aimes

Origine blog.csdn.net/ABidMan/article/details/130401260
conseillé
Classement