Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der JavaScript-Array-Operationen_Javascript-Fähigkeiten

Detaillierte Erläuterung der JavaScript-Array-Operationen_Javascript-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 15:36:07913Durchsuche

Dieser Artikel führt Sie ausführlich in die Funktionsweise des js-Arrays ein. Interessierte Freunde sollten diesen Artikel gemeinsam studieren.

1. Erstellung eines Arrays

var arrayObj = new Array(); //Erstelle ein Array
var arrayObj = new Array([size]); //Erstellen Sie ein Array und geben Sie die Länge an. Beachten Sie, dass es sich nicht um die Obergrenze, sondern um die Länge handelt var arrayObj = new Array([element[, element[, ...[, elementN]]]]); //Erstelle ein Array und weise einen Wert zu

Es ist zu beachten, dass die zweite Methode zwar ein Array erstellt und die Länge angibt, das Array jedoch in allen Fällen eine variable Länge hat, was bedeutet, dass die Elemente auch dann eine variable Länge haben können, wenn die Länge mit 5 angegeben ist Ansonsten ist zu beachten, dass sich die Länge entsprechend ändert.

2. Zugriff auf Array-Elemente

var testGetArrValue=arrayObj[] //Den Elementwert des Arrays abrufen

arrayObj[]= „Dies ist ein neuer Wert“; //Array-Elementen neue Werte zuweisen

3. Array-Elemente hinzufügen

arrayObj. push([item [item [. . . [itemN ]]]] // Ein oder mehrere neue Elemente am Ende des Arrays hinzufügen und die neue Länge des Arrays zurückgeben

arrayObj.unshift([item [item [. . . [itemN ]]]]);// Fügen Sie ein oder mehrere neue Elemente am Anfang des Arrays hinzu, die Elemente im Array werden automatisch nach hinten verschoben und die neue Länge von Das Array wird
zurückgegeben arrayObj.splice(insertPos,,[item[, item[, . . . [,itemN]]]]);//Fügen Sie ein oder mehrere neue Elemente an der angegebenen Position des Arrays ein, und das Element an der Einfügeposition wird automatisch nach hinten verschoben werden.

4. Löschen von Array-Elementen

arrayObj.pop(); //Letztes Element entfernen und den Elementwert zurückgeben

arrayObj.shift(); //Das erste Element entfernen und den Elementwert zurückgeben. Die Elemente im Array werden automatisch nach vorne verschoben
arrayObj.splice(deletePos,deleteCount); //Löschen Sie die angegebene Anzahl von deleteCount-Elementen ab der angegebenen Position deletePos und geben Sie die entfernten Elemente in Array-Form zurück

5. Abfangen und Zusammenführen von Arrays

arrayObj.slice(start, [end]); //Einen Teil des Arrays in Form eines Arrays zurückgeben. Beachten Sie, dass das Element, das end entspricht, nicht enthalten ist kopiert werden

arrayObj.concat([item[, item[, . . . [,itemN]]]]); //Verketten Sie mehrere Arrays (kann auch Strings oder eine Mischung aus Arrays und Strings sein) zu einem Array und geben Sie die neue Verbindung zurück Array

6. Kopie des Arrays

arrayObj.slice(); //Gibt ein Kopie-Array des Arrays zurück. Beachten Sie, dass es sich um ein neues Array handelt, das nicht auf

verweist arrayObj.concat(); //Ein Kopie-Array des Arrays zurückgeben. Beachten Sie, dass es sich um ein neues Array handelt, das nicht auf
zeigt

7. Sortieren von Array-Elementen

arrayObj.reverse(); // Die Elemente umkehren (das erste zum letzten, das letzte nach vorne) und die Array-Adresse zurückgeben

arrayObj.sort(); // Sortieren Sie die Array-Elemente und geben Sie die Array-Adresse zurück

8. Stringifizierung von Array-Elementen

arrayObj.join(separator); //Gibt eine Zeichenfolge zurück, die jeden Elementwert des Arrays miteinander verbindet, getrennt durch ein Trennzeichen.

toLocaleString, toString, valueOf: kann als spezielle Verwendung von Join angesehen werden, die nicht häufig verwendet wird

Drei Attribute von Array-Objekten

1. Längenattribut

Das Längenattribut stellt die Länge des Arrays dar, also die Anzahl der darin enthaltenen Elemente. Da der Index eines Arrays immer bei 0 beginnt, sind die oberen und unteren Grenzen eines Arrays: 0 bzw. Länge-1. Im Gegensatz zu den meisten anderen Sprachen ist die Längeneigenschaft von JavaScript-Arrays variabel, was besondere Aufmerksamkeit erfordert. Wenn das Längenattribut größer eingestellt wird, ändert sich der Zustand des gesamten Arrays nicht. Nur das Längenattribut wird größer, wenn das Längenattribut kleiner als das Original gesetzt wird, und die Elemente im ursprünglichen Array mit Indizes, die größer oder gleich sind Länge wird Alle Werte gehen verloren. Das folgende Beispiel zeigt die Änderung des Längenattributs:

var arr=[,,,,,,,,,];

//Definiert ein Array mit Zahlen
Alert(arr.length); //Zeigt die Länge des Arrays an
arr.length=; //Erhöhen Sie die Länge des Arrays
Alert(arr.length); //Zeigen Sie an, dass sich die Länge des Arrays in
geändert hat Alert(arr[]); //Zeigt den Wert des Elements an, nämlich
arr.length=; // Reduzieren Sie die Länge des Arrays auf, Elemente mit Indizes gleich oder größer werden verworfen
warning(arr[]); //Zeigen Sie, dass das Element Nr. 1 „undefiniert“ geworden ist
arr.length=; //Array-Länge auf
wiederherstellen warning(arr[]); //Obwohl die Länge wiederhergestellt wird, kann das Element nicht wiederhergestellt werden und „undefiniert“
wird angezeigt.

Aus dem obigen Code können wir die Natur des Längenattributs deutlich erkennen. Das Längenobjekt kann jedoch nicht nur explizit festgelegt, sondern auch implizit geändert werden. Sie können in JavaScript auch eine nicht deklarierte Variable verwenden (die sich auf ein Element mit einem Index bezieht, der größer oder gleich der Länge ist). In diesem Fall wird der Wert des Längenattributs auf festgelegt Wert des verwendeten Elementindex. Zum Beispiel der folgende Code:

var arr=[,,,,,,,,,];

alarm(arr.length);
arr[]=;
alarm(arr.length);

Der Code definiert außerdem zunächst ein Array mit 10 Zahlen. Aus der Alert-Anweisung geht hervor, dass seine Länge 10 beträgt. Dann wird das Element mit dem Index 15 verwendet und ihm der Wert 15 zugewiesen, d. h. arr[15]=34. Zu diesem Zeitpunkt wird die Alert-Anweisung verwendet, um die Länge des Arrays auszugeben, und das Ergebnis ist 16. Unabhängig davon ist dies eine überraschende Funktion für Entwickler, die an stark typisierte Programmierung gewöhnt sind. Tatsächlich beträgt die Anfangslänge eines mit new Array() erstellten Arrays 0. Es ist die Operation undefinierter Elemente, die dazu führt, dass sich die Länge des Arrays ändert.

Wie Sie der obigen Einführung entnehmen können, ist das Längenattribut so magisch, dass Sie es verwenden können, um die Kapazität des Arrays einfach zu erhöhen oder zu verringern. Daher hilft ein tiefes Verständnis des Längenattributs, es während des Entwicklungsprozesses flexibel zu nutzen.

2. Prototypattribut

Gibt einen Verweis auf den Prototyp des Objekttyps zurück. Die Prototypeigenschaft ist für das Objekt üblich.

objectName.prototype

Der objectName-Parameter ist der Name des Objektobjekts.

Beschreibung: Verwenden Sie das Prototypattribut, um eine Reihe grundlegender Funktionen der Objektklasse bereitzustellen. Neue Instanzen eines Objekts „erben“ die dem Prototyp des Objekts zugewiesenen Operationen.

Für Array-Objekte veranschaulicht das folgende Beispiel die Verwendung des Prototyp-Attributs.

Fügen Sie dem Array-Objekt eine Methode hinzu, um den maximalen Elementwert im Array zurückzugeben. Um dies zu erreichen, deklarieren Sie eine Funktion, fügen Sie sie zu Array.prototype hinzu und verwenden Sie sie.

function array_max()
 {
  var i,
  max = this[];
  for (i = ; i < this.length; i++)
  {
    if (max < this[i])
    max = this[i];
  }
  return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max();

Nachdem dieser Code ausgeführt wurde, enthält y den Maximalwert im Array x, also beispielsweise 6.

3. Konstruktorattribut

stellt eine Funktion dar, die ein Objekt erstellt.

object.constructor //object ist der Name des Objekts oder der Funktion.

Beschreibung: Die Konstruktoreigenschaft ist Mitglied aller Objekte mit Prototyp. Sie umfassen alle nativen JScript-Objekte mit Ausnahme von Global- und Math-Objekten. Die Eigenschaft „Konstruktor“ enthält einen Verweis auf die Funktion, die eine bestimmte Objektinstanz erstellt.

Zum Beispiel:

x = new String("Hi");
if (x.constructor == String) // 进行处理(条件为真)。
或
function MyFunc {
  // 函数体。
}
y = new MyFunc;

if (y.constructor == MyFunc) // 进行处理(条件为真)

Für Arrays:

y = new Array();

Das Obige ist die vollständige Beschreibung dieses Artikels, ich hoffe, dass es euch allen gefällt.

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