Maison  >  Article  >  interface Web  >  Deux méthodes de copie profonde et de copie superficielle des compétences JavaScript array_javascript

Deux méthodes de copie profonde et de copie superficielle des compétences JavaScript array_javascript

WBOY
WBOYoriginal
2016-05-16 16:52:081891parcourir

Par exemple :

Copier le code Le code est le suivant :
var arr = ["One ", "Deux", "Trois"];

var arrto = arr;
arrto[1] = "test";
document.writeln("La valeur d'origine du tableau : " arr "< br />");//Export : La valeur originale du tableau : One,test,Three
document.writeln("La nouvelle valeur du tableau : " arrto "

La méthode d'affectation directe comme celle ci-dessus est une copie superficielle. Souvent, ce n'est pas le résultat que nous souhaitons. En fait, ce que nous voulons, c'est que la valeur de arr reste inchangée, n'est-ce pas ?

Méthode 1 : fonction js slice

Copier le code Le code est le suivant :

Pour tableau La fonction slice de l'objet,
renvoie un segment d'un tableau. (Toujours un tableau)
arrayObj.slice(start, [end])
Paramètres
arrayObj
Obligatoire. Un objet Array.
démarrer
Obligatoire. L'élément de départ de la partie spécifiée dans arrayObj est un index de base zéro.
fin
Facultatif. L'élément de fin de la partie spécifiée dans arrayObj est l'index de base zéro.
Description
La méthode slice renvoie un objet Array, qui contient la partie spécifiée de arrayObj. La méthode
slice copie jusqu'à, mais sans inclure, l'élément spécifié par end. Si start est négatif, traitez-le comme length start, où length est la longueur du tableau. Si end est négatif, il est traité comme length end, où length est la longueur du tableau. Si end est omis, la méthode slice copie jusqu'à la fin de arrayObj. Si la fin apparaît avant le début, aucun élément n'est copié dans le nouveau tableau.

Exemple :
Copier le codeLe code est le suivant :

var arr = ["Un", "Deux", "Trois"];

var arrtoo = arr.slice(0);
arrtoo[1] = "set Map";
document.writeln("La valeur originale du tableau : " arr "
");//Export : La valeur originale du tableau : Un, Deux, Trois
document.writeln("Le nouvelle valeur du tableau : " arrtoo "
");//Export : Nouvelle valeur du tableau : One,set Map,Three

Méthode 2 : méthode js concat

Copier le code Le code est le suivant :

La méthode concat() est utilisée pour concaténer deux ou plusieurs tableaux.
Cette méthode ne modifie pas le tableau existant, mais renvoie uniquement une copie du tableau connecté.
Syntaxe
arrayObject.concat(arrayX,arrayX,...,arrayX)
Description
Renvoie un nouveau tableau. Le tableau est généré en ajoutant tous les paramètres arrayX à arrayObject. Si l'argument de l'opération concat() est un tableau, alors les éléments du tableau sont ajoutés, pas le tableau.
var arr = ["Un","Deux","Trois"];

Exemple :
Copier le code Le code est le suivant :

var arrtooo = arr.concat();
arrtooo[1] = "set Map To";
document.writeln(" original du tableau Valeur : " arr "
");//Export : La valeur originale du tableau : Un, Deux, Trois
document.writeln("La nouvelle valeur du tableau : " arrtooo "
");//Export : Nouvelle valeur du tableau : One,set Map To,Three
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn