1. Löschen Sie das Array
var ary = [1,2,3,4]; ary.splice (0, ary.length); // Löschen Sie die Array console.log (ary); // Ausgabe [], leeren Sie das Array, dh es wird gelöscht
2. Löschen Sie Array -Elemente
var ary = [1,2,3,4]; Ary.SPLICE (0,1); oder Ary.SPLICE ($. InArray (2, Ary), 1); wobei $ .inarray (2, ary) verwendet wird, um die Indexposition eines Elements im Array zu ermitteln.
Drei, verschiedene Möglichkeiten zum Löschen von Arrays in JS
var arr = ['a', 'b', 'c'];
Um 'B' zu löschen, gibt es zwei Möglichkeiten:
1. Methode löschen: arr [1] löschen
Auf diese Weise bleibt die Länge des Arrays unverändert. Zu diesem Zeitpunkt wird arr [1] undefiniert, hat aber auch den Vorteil, dass der Index des Arrays unverändert bleibt. Zu diesem Zeitpunkt müssen Sie die zu verwendenden Array -Elemente durchqueren
für (Index in arr) {document.write ('arr ['+index+'] ='+arr [index]);}Diese Traversalmethode überspringt undefinierte Elemente darin
* Diese Methode wird in Zukunft unterstützt.
2. Array -Objekt -Spleißmethode: arr.splice (1,1);
Auf diese Weise wird die Länge des Arrays entsprechend geändert, aber der ursprüngliche Array -Index ändert sich auch entsprechend
Die erste 1 im Spleißparameter ist der Startindex des Deletenzusammenhauses (berechnet aus 0), dem zweiten Element des Arrays.
Die zweite 1 ist die Anzahl der gelöschten Elemente, und hier wird nur ein Element gelöscht, dh 'B';
Zu diesem Zeitpunkt ist es möglich, die Array -Elemente auf normale Weise zu durchqueren, wie z. B. für die gelöschten Elemente
Nicht im Array erhalten
* Diese Methode wird erst nach IE5.5 unterstützt
Es ist erwähnenswert, dass beim Löschen von Array -Elementen die Spleißmethode auch Array -Elemente hinzufügen kann.
Zum Beispiel werden arr.splice (1,1, 'd', 'e'), d und e zum Array arr hinzugefügt
Das Ergebnisarray wird arr: 'a', 'd', 'e', 'c'
Darüber hinaus schneidet JavaScript Arrays durch, indem die Länge Eigenschaft des Arrays festgelegt wird, was die einzige Möglichkeit ist, die Länge des Arrays zu verkürzen.
Wenn Sie den Löschbetreiber verwenden, um ein Element im Array zu löschen, ändert das Längenattribut des Array jedoch nicht die beiden Methoden, um Elemente zu löschen, und die Länge des Arrays ändert sich auch.
/ * * Methode: array.remove (dx) * Funktion: Array -Elemente löschen. * Parameter: DX löschen ein Einweis der Elemente. * Rückgabe: Ändern Sie Arrays auf dem ursprünglichen Array* /// häufig verwenden Sie Arrays durch traversal.array.prototype.remove = function (dx) {if (isnan (dx) || dx> this.Length) {return false;} für (var i = 0, n = 0; i <this.Length; i ++) {if (this [i]! alert ("Elemente:"+a+"nLength:"+a.Length); A.Remove (0); // das Element mit dem Index 0 Alert ("Elemente:"+a+"nLength:"+a.Length) löschen;Beispiel 2,
/ * * Methode: array.baoremove (dx) * Funktion: Array -Elemente löschen. * Parameter: DX löschen ein Einweis der Elemente. * Rückgabe: Ändern Sie das Array im Originalarray. */ // Sie können auch Splice zum Implementieren verwenden. Array.prototype.baoremove = function (dx) {// www.vevb.comif (isnan (dx) || dx> this.Length) {return false;} this.splice (dx, 1); } b = ['1', '2', '3', '4', '5']; alert ("Elemente:"+b+"nLength:"+B.Length); B.Baoremove (1); // das Element mit dem Index 1 -Alarm löschen ("Elemente:"+b+"nLength:"+b.Length);In IE5 oder niedriger bietet das Array-Objekt von JavaScript keine Möglichkeit, Array-Elemente zu löschen. In der IE5.5+ -Version gibt es zwar eine Spleißmethode, löscht zwar kein bestimmtes Element (oder mehrere Elemente), sondern löscht nur den Wert eines bestimmten Elements (oder mehrere Elemente), was bedeutet, dass das Element noch existiert und die Länge des Arrays nicht geändert wurde.
Tatsächlich können Sie dem Array selbst eine Löschmethode hinzufügen (beachten Sie, dass sich dies auf die Entfernung eines Elements des Arrays aus dem Array -Mitglied bezieht). Vielleicht denken Sie daran, Schleifen zu verwenden, um Werte in einem Array zuzuweisen. Das ist sicherlich in Ordnung, aber es ist sehr ineffizient.
Im Folgenden wird die Methode zur Anpassung der Löschung von Arrays mit zwei Methoden von Array -Objekt -Slice und -Koncat eingeführt.
Array.prototype.del = function (n) {// n repräsentiert, welcher Begriff ab 0. // Prototyp der Objektprototyp ist, achten Sie auf die Methode, um dem Objekt benutzerdefinierte Methoden hinzuzufügen. Wenn (n <0) // Wenn n <0, wird nichts getan. gib dies zurück; Elsereturn this.slice (0, n) .Concat (this.lice (n+1, this.Length));/* concat -Methode: Gibt ein neues Array zurück, das aus zwei oder mehr Arrays besteht. Hier ist ein Neuarray, das aus diesem. In der Mitte fehlt das nte Element. Slice -Methode: Gibt ein Segment eines Arrays mit zwei Parametern zurück und geben die Start- und Endpositionen an. */} // Die Methode zum Hinzufügen von selbst var test = new Array (0,1,2,3,4,5); test = test.del (3); // aus 0, löschen Sie den 4. Artikel. Alarm (Test);Der obige Code verwendet nur flexibel zwei Methoden des Array -Objekts, die die grundlegenden Anforderungen realisieren, was gut ist.
Die obige einfache Methode zum Löschen von Arrayelementen und Löschen von Arrays (MUSS) in JS ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.