Heim >Web-Frontend >js-Tutorial >Zwei Methoden zum tiefen Kopieren und flachen Kopieren von JavaScript-Array_Javascript-Fähigkeiten

Zwei Methoden zum tiefen Kopieren und flachen Kopieren von JavaScript-Array_Javascript-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 16:52:081921Durchsuche

Zum Beispiel:

Code kopieren Der Code lautet wie folgt:
var arr = ["One ", "Zwei", "Drei"];

var arrto = arr;
arrto[1] = "test";
document.writeln("Der ursprüngliche Wert des Arrays: " arr "< br />");//Export: Der ursprüngliche Wert des Arrays: One,test,Three
document.writeln("Der neue Wert des Arrays: " arrto "

Die direkte Zuweisungsmethode wie oben ist eine flache Kopie. Oft ist dies nicht das gewünschte Ergebnis. Tatsächlich wollen wir, dass der Wert von arr unverändert bleibt, oder?

Methode 1: js-Slice-Funktion

Code kopieren Der Code lautet wie folgt:

Für Array Die Slice-Funktion des Objekts
gibt ein Segment eines Arrays zurück. (Immer noch ein Array)
arrayObj.slice(start, [end])
Parameter
arrayObj
Erforderlich. Ein Array-Objekt.
Start
Erforderlich. Das Startelement des in arrayObj angegebenen Teils ist ein nullbasierter Index.
Ende
Optional. Das Endelement des in arrayObj angegebenen Teils ist der nullbasierte Index.
Beschreibung
Die Slice-Methode gibt ein Array-Objekt zurück, das den angegebenen Teil von arrayObj enthält. Die
slice-Methode kopiert bis zu dem durch end angegebenen Element, schließt es jedoch nicht ein. Wenn Start negativ ist, wird es als Länge Start behandelt, wobei Länge die Länge des Arrays ist. Wenn end negativ ist, wird es als Länge end behandelt, wobei length die Länge des Arrays ist. Wenn end weggelassen wird, kopiert die Slice-Methode bis zum Ende von arrayObj. Wenn end vor start erscheint, werden keine Elemente in das neue Array kopiert.

Beispiel:
Code kopierenDer Code lautet wie folgt:

var arr = ["Eins", "Zwei", "Drei"];

var arrtoo = arr.slice(0);
arrtoo[1] = "set Map";
document. writeln("Der ursprüngliche Wert des Arrays: " arr "
");//Export: Der ursprüngliche Wert des Arrays: One,Two,Three
document.writeln("The neuer Wert des Arrays: " arrtoo "
");//Export: Neuer Wert des Arrays: One,set Map,Three

Methode 2: js-Concat-Methode

Code kopieren Der Code lautet wie folgt:

Die concat()-Methode wird verwendet, um zwei oder mehr Arrays zu verketten.
Diese Methode ändert nicht das vorhandene Array, sondern gibt nur eine Kopie des verbundenen Arrays zurück.
Syntax
arrayObject.concat(arrayX,arrayX,...,arrayX)
Beschreibung
Gibt ein neues Array zurück. Das Array wird durch Hinzufügen aller arrayX-Parameter zu arrayObject generiert. Wenn das Argument der concat()-Operation ein Array ist, werden die Elemente im Array hinzugefügt, nicht das Array.
var arr = ["Eins", "Zwei", "Drei"];

Beispiel:
Code kopieren Der Code lautet wie folgt:

var arrtooo = arr.concat();
arrtooo[1] = "set Map To";
document.writeln(" Originalwert des Arrays: " arr "
");//Export: Der ursprüngliche Wert des Arrays: One,Two,Three
document.writeln("Der neue Wert des Arrays: " arrtooo "
");//Export: Neuer Wert des Arrays: One,set Map To,Three
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn