Heim  >  Artikel  >  Web-Frontend  >  Vertiefendes Verständnis der JS-Array-Operationsmethoden concat(), Slice(), Splice()

Vertiefendes Verständnis der JS-Array-Operationsmethoden concat(), Slice(), Splice()

yulia
yuliaOriginal
2018-09-14 15:06:181918Durchsuche

Ich war in letzter Zeit ziemlich frei und habe das Wissen, das ich gelernt habe, zusammengefasst die verschiedenen Betriebsmethoden von Arrays, concat(), Slice() Bitte lesen Sie es, ich hoffe, es wird Ihnen nützlich sein.

concat()-Methode

concat()-Methode: Erstellen Sie ein neues Array basierend auf allen Elementen im aktuellen Array.
Der spezifische Prozess ist: Erstellen Sie zunächst eine Kopie des Arrays, wenn Parameter für concat() vorhanden sind, fügen Sie die empfangenen Parameter am Ende der Kopie hinzu und geben Sie dann das neu erstellte Array zurück, wenn keine Parameter übergeben werden. Kopieren Sie einfach das aktuelle Array und geben Sie das Kopierarray zurück.
Der Parameter in concat() kann ein neues Array oder ein String sein.

var colors = ["red","green","blue"];
var colors2 = colors.concat("yellow",["black","brown"]);
alert(colors);
alert(colors2);

Das Ergebnis ist, dass „colors“ ein Array [„red“, „green“, „blue“] ist.
colors2 ist ein Array [„red“, „green“, „blue“, „ gelb“, „schwarz“, „braun“];
Die concat()-Methode erstellt lediglich ein neues Array mit dem aktuellen Array, sodass das aktuelle Array unverändert bleibt (das Farbarray bleibt unverändert).

slice()-Methode

slice()-Methode: Erstellt ein neues Array basierend auf einem oder mehreren Elementen im aktuellen Array.
Die Methode „slice()“ kann einen oder zwei Parameter haben (die den Indexwert des Arrays darstellen, 0, 1, 2 ...). Beim Empfang eines Parameters: Gibt alle Elemente im aktuellen Array zurück, beginnend von der Parameterposition bis zum Ende des aktuellen Arrays. Beim Empfang von zwei Parametern: Gibt alle Elemente im aktuellen Array zwischen den beiden Parameterpositionen zurück, gibt jedoch nicht das Element an der zweiten Parameterposition zurück.
Der Parameter kann auch eine negative Zahl sein, was bedeutet, dass vom Ende an gezählt wird, -1 bedeutet das Letzte und die Verwendungsmethode ist dieselbe wie bei der positiven Zahl.

var colors = ["red","green","blue","yellow","black","brown"];
var colors2 = colors.slice(2);
var colors3 = colors.slice(1,4);
var colors4 = colors.slice(2,-2);
var colors5 = colors.slice(-3,-1);
console.log(colors2);
console.log(colors3);
console.log(colors4);
console.log(colors5);

Das Ergebnis ist: ["blau", "gelb", "schwarz", "braun"]
["grün", "blau", "gelb"]
["blau " , „gelb“]
[„gelb“, „schwarz“]
Darüber hinaus kann die Methode „slice()“ auch verwendet werden, um das Array

Array.prototype.remove = function(from, to) {
    var rest = this.slice((to || from) + 1 || this.length);
    this.length = from <0 ? this.length + from : from;
    return this.push.apply(this, rest);
};

für

rest = this.slice((to || from) + 1 || this.length);
Wenn to ungleich 0 ist, (to||from) gleich to ist und to+1 ungleich 0 ist, dann ist ((to || from) + 1 || this.length) to+1 ), wenn to+1=0 ,((to || from) + 1 || this.length) is this.length

If to=0, (to||from) braucht from, if from+1 ist ungleich 0, ((to | | from) + 1 || this.length) ist from+1 Wenn from+1=0, ist ((to || from) + 1 || this.length) this .Länge.

splice()-Methode

splice() wird hauptsächlich zum Einfügen von Elementen in die Mitte des aktuellen Arrays verwendet und kann Lösch-, Einfüge- und Ersetzungsvorgänge ausführen. Gibt ein Array zurück, das die aus den ursprünglichen Elementen gelöschten Elemente enthält (wenn nicht gelöscht, wird ein leeres Array zurückgegeben)

Löschen: zwei Parameter, die Position des gelöschten Startelements und die Anzahl der gelöschten Elemente.

var colors = ["red","green","blue"];
var removed = colors.splice(1,2);
alert(colors);      //red
alert(removed);     //green,blue

Einfügen: Fügen Sie eine beliebige Anzahl von Elementen an der angegebenen Position ein, einschließlich zweier Grundparameter (d. h. der beiden Parametertypen im Löschvorgang) und des Parameters des einzufügenden Elements. Die beiden Grundparameter sind die Startposition und 0 (Die Anzahl der zu löschenden Elemente sollte 0 Elemente betragen), und die einzufügenden Elementparameter können eine beliebige Zahl sein ("rot", "grün", "blau").

var colors = ["red","green","blue"];
var removed = colors.splice(1,0,"yellow","orange");
alert(colors);      //"red","yellow","orange","green","blue"
alert(removed);     //空数组

Ersetzen: Beliebig viele Elemente an der angegebenen Position einfügen und beliebig viele Elemente löschen. Die Anzahl der eingefügten Elemente und die Anzahl der gelöschten Elemente können unterschiedlich sein. Die Parameter umfassen zwei Grundparameter (d. h. die beiden Parametertypen im Löschvorgang) und den Parameter des einzufügenden Elements.

var colors = ["red","green","blue"];
var removed = colors.splice(1,1,"purple","black");
alert(colors);    //"red","purple","black","blue"
alert(removed);   //"green"

Tatsächlich besteht das allgemeine Verständnis darin, dass die Methode splice() zwei Grundparameter für Löschelemente und eine beliebige Anzahl von Einfügeparametern enthält. Der erste der beiden Grundparameter für Löschelemente gibt die Löschposition an Die zweite gibt die Löschnummer an. Wenn die Nummer 0 ist, wird sie nicht gelöscht. Sie hat nur die Funktion, die Position anzugeben. Eine beliebige Anzahl von Einfügeelementparametern stellt den einzufügenden Elementwert dar. Die Anzahl ist nicht begrenzt und kann weggelassen werden. Wenn sie weggelassen wird, führt die Methode splice() nur den Löschvorgang aus.


Das obige ist der detaillierte Inhalt vonVertiefendes Verständnis der JS-Array-Operationsmethoden concat(), Slice(), Splice(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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