var arr = ['a', 'b', 'c'];
Um 'B' zu löschen, gibt es zwei Möglichkeiten:
1. DELETE -Methode: arr [1] löschen
Auf diese Weise bleibt die Länge des Arrays unverändert. verwenden
für (Index in arr) {document.write ('arr ['+index+'] ='+arr [index]);}Diese Traversalmethode überspringt undefinierte Elemente darin
* Diese Methode wird in IE4.O.
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 normal zu durchqueren, wie z.
* 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'
JavaScript, das ein Array abschneidet, indem das Längenattribut eines Arrays festgelegt wird, ist die einzige Möglichkeit, die Länge eines Arrays zu verkürzen. ändert sich nicht zweimal.
/ * * Methode: Array.Remove (DX) * Funktion: Array -Elemente löschen. .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]! '5']; +a.länge); / * * Methode: Array.BaorEmove (DX) * Funktion: Array -Elemente. Array .Prototype.BaOremove = Funktion (dx) {if (isnan (dx) || dx> this.length) {return false;} this.splice (dx, 1); '3', '4', '5']; "Elemente:"+b+"nLength:"+b.Length);Wir wissen, dass das Array-Objekt von JavaScript in IE5 oder Lower keine Möglichkeit bietet, 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 Die Länge des Arrays hat sich nicht geändert.
Tatsächlich können wir dem Array selbst eine Löschmethode hinzufügen (beachten Sie, dass dies auf das Entfernen eines Elements des Arrays aus dem Array -Mitglied bezieht). Vielleicht denken Sie daran, Schleifen zu verwenden, um Arrays neu zuzuweisen, was sicherlich in Ordnung ist, aber es ist ineffizient.
Im Folgenden stellen wir zwei Methoden zur Verwendung von Slice und Concat ein, um die Löschung von Arrays anzupassen.
Der spezifische Code ist wie folgt. Achten Sie bitte auf die Kommentare im Inneren.
Array.prototype.del = function (n) {// n repräsentiert welchen Begriff ab 0. // Prototyp ist der Objektprototyp, achten Sie auf die Methode, um dem Objekt hier benutzerdefinierte Methoden hinzuzufügen. Wenn (n <0) // Wenn n <0, wird nichts getan. Geben Sie dies zurück; Hier ist ein neues Array, das aus dieser Weise besteht. Slice -Methode: Gibt ein Segment eines Arrays mit zwei Parametern zurück und geben die Start- und Endpositionen an. */} // Versuchen wir diese Methode, um sie selbst zu erhöhen. von Punkt 4. Alarm (Test);Auf diese Weise verwenden wir nur flexibel die beiden Methoden des Array -Objekts, um unsere Anforderungen zu erfüllen.