Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung relevanter Kenntnisse über Arrays in JavaScript_JavaScript
Array erstellen
Die Deklaration von Arrays in js kann auf folgende Weise erfolgen:
var arr = []; // 简写模式 var arr = new Array(); // new一个array对象 var arr = new Array(arrayLength); // new一个确定长度的array对象
Es ist zu beachten:
Geben Sie ein Beispiel für inkonsistente Elementtypen in einem Array:
var arr = [1, 2, 3, 4, 'wangzhengyi', 'bululu']; for (var i = 0; i < arr.length; i ++) { console.log(arr[i]); }
Array-Elementzugriff
Der Indexwert des JavaScript-Arrays beginnt ebenfalls bei 0. Wir können direkt über den Index des Array-Namens auf die Array-Elemente zugreifen.
Der Beispielcode lautet wie folgt:
var arr = [1, 2, 3]; console.log(arr[0]); console.log(arr[1]);
Darüber hinaus wird empfohlen, den kontinuierlichen for-Schleifenmodus für die Array-Durchquerung zu verwenden, und for-in wird nicht empfohlen. Weitere Informationen finden Sie unter: Schleife durch Array in JavaScript
Der Beispielcode zum Durchlaufen eines Arrays lautet wie folgt:
var arr = [1, 2, 3, 4, 'wangzhengyi', 'bululu']; for (var i = 0, len = arr.length; i < len; i ++) { console.log(arr[i]); }
Hinweis:
Im obigen Code besteht eine kleine Optimierung darin, die Größe des Arrays im Voraus zu ermitteln, sodass nicht jedes Mal, wenn es durchlaufen wird, die Array-Größe abgefragt werden muss. Bei sehr großen Arrays kann es eine gewisse Effizienz verbessern.
Array-Element hinzufügen
Es gibt drei Methoden, um einem Array neue Elemente hinzuzufügen: Push, Unshift und Splice. Im Folgenden werde ich diese drei Methoden jeweils vorstellen.
drücken
Push-Methode fügt Elemente am Ende des Arrays hinzu. Der Beispielcode lautet wie folgt:
var arr = []; arr.push(1); arr.push(2); arr.push(3); for (var i = 0, len = arr.length; i < len; i ++) { console.log(arr[i]); }
Das Ausführungsergebnis ist:
1 2 3
Schaltung ausschalten
Die Unshift-Methode fügt Elemente zum Kopf des Arrays hinzu. Der Beispielcode lautet wie folgt:
var arr = []; arr.unshift(1); arr.unshift(2); arr.unshift(3); for (var i = 0, len = arr.length; i < len; i ++) { console.log(arr[i]); }
Die Ausführungsergebnisse lauten wie folgt:
3 2 1
Spleiß
Die Spleißmethode fügt ein neues Element an einer angegebenen Position im Array ein und die vorherigen Elemente werden automatisch nacheinander zurückgeschoben. Beachten Sie, dass der Funktionsprototyp von splice ist:
array.splice(index, howMany, element...)
howMany gibt die Anzahl der zu löschenden Elemente an. Wenn Sie nur Elemente hinzufügen, muss howMany zu diesem Zeitpunkt auf 0 gesetzt werden.
Der Beispielcode lautet wie folgt:
var arr = [1, 2, 3, 4]; arr.splice(1, 0, 7, 8, 9); for (var i = 0, len = arr.length; i < len; i ++) { console.log(arr[i]); }
Die Ausführungsergebnisse lauten wie folgt:
1 7 8 9 2 3 4
Array-Elemente löschen
Ähnlich wie beim Hinzufügen von Elementen zu einem Array gibt es drei Methoden zum Löschen von Elementen in einem Array: Pop, Shift und Splice. Als nächstes erklären wir die Verwendung dieser drei Funktionen.
Pop
Die Pop-Methode entfernt das letzte Element im Array. Durch die Kombination von Push und Pop kann die Funktion eines Arrays ähnlich einem Stapel realisiert werden (First In, Last Out). Der Beispielcode lautet wie folgt:
var arr = []; arr.push(1); arr.push(2); arr.push(3); while (arr.length != 0) { var ele = arr.pop(); console.log(ele); }
Schicht
Die Shift-Methode entfernt das erste Element und die Elemente im Array werden automatisch nach vorne verschoben. (Diese Methode entspricht definitiv Effizienzproblemen und die Zeitkomplexität beträgt O(n)).
var arr = []; arr.push(1); arr.push(2); arr.push(3); function traverseArray(arr) { for (var i = 0, len = arr.length; i < len; i ++) { console.log(arr[i]); } } while (arr.length != 0) { var ele = arr.shift(); traverseArray(arr); }
Jeder kann die Ergebnisse selbst betrachten.
Spleiß
Beim Hinzufügen von Array-Elementen haben wir über Spleiß gesprochen. In diesem Funktionsprototyp gibt es einen Parameter „howMany“, der angibt, wie viele Elemente ausgehend vom Index gelöscht werden.
Der Beispielcode lautet wie folgt:
var arr = [1, 2, 3, 4, 5, 6, 7]; function traverseArray(arr) { for (var i = 0, len = arr.length; i < len; i ++) { console.log(arr[i]); } } arr.splice(1, 3); traverseArray(arr);
Das Ausführungsergebnis ist:
1 5 7
Arrays kopieren und abfangen
Der Code lautet beispielsweise wie folgt:
var arr1 = [1, 2, 3, 4]; var arr2 = arr1;
Zu diesem Zeitpunkt speichert arr2 nur die Adresse des arr1-Arrays im Heap-Speicher und beantragt nicht erneut Speicher im Heap-Speicher, um ein Array zu erstellen. Änderungen an arr2 wirken sich also gleichzeitig auf arr1 aus. Was ist also, wenn wir ein Array kopieren müssen? Dies führt zu den Slice- und Concat-Funktionen, die erlernt werden müssen.
Scheiben
Der Slice hier ist derselbe wie der Slice in der Python-Syntax, beide geben Slices von Arrays zurück. Der Prototyp der Slice-Funktion lautet:
array.slice(begin, end)
Gibt alle Elemente von Anfang bis Ende zurück. Beachten Sie, dass Anfang enthalten ist, Ende jedoch nicht.
Der Standardanfang beginnt standardmäßig bei 0. Das Standardende ist das Ende des Arrays.
Daher können wir das Array durch den folgenden Code kopieren:
var arr1 = [1, 2, 3, 4]; var arr2 = arr1.slice(); arr2[2] = 10000 function traverseArray(arr) { for (var i = 0, len = arr.length; i < len; i ++) { console.log(arr[i]); } } traverseArray(arr1); traverseArray(arr2);
Die Ausführungsergebnisse lauten wie folgt:
1 2 3 4 1 2 10000 4
concat
Die Concat-Methode erstellt ein neues Array und fügt dann die Elemente in das Objekt ein, das es aufruft (das Objekt, auf das dies zeigt), sowie die Elemente in den Array-Typ-Parametern aller Parameter und den Nicht-Array-Typ-Parametern selbst in dieses neue Array der Reihenfolge ein und gibt das Array zurück.
Der Beispielcode lautet wie folgt:
var alpha = ["a", "b", "c"]; var number = [1, 2, 3] // 新数组为["a", "b", "c", 1, 2, 3] var complex = alpha.concat(number);