Heim > Web-Frontend > js-Tutorial > Detaillierte Erläuterung relevanter Kenntnisse über Arrays in JavaScript_JavaScript

Detaillierte Erläuterung relevanter Kenntnisse über Arrays in JavaScript_JavaScript

WBOY
Freigeben: 2016-05-16 15:48:25
Original
1383 Leute haben es durchsucht

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对象

Nach dem Login kopieren

Es ist zu beachten:

  • Obwohl die dritte Methode die Länge des Arrays deklariert, ist die tatsächliche Länge des Arrays variabel. Mit anderen Worten: Selbst wenn die Länge mit 5 angegeben ist, können Elemente außerhalb der angegebenen Länge gespeichert werden, und die Länge des Arrays ändert sich entsprechend.
  • Außerdem muss eines klargestellt werden:
  • js ist eine schwach typisierte Sprache, das heißt, die Elementtypen im Array müssen nicht gleich sein.

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]);
}

Nach dem Login kopieren

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]);

Nach dem Login kopieren

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]);
}

Nach dem Login kopieren

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]);
}

Nach dem Login kopieren


Das Ausführungsergebnis ist:

1
2
3

Nach dem Login kopieren

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]);
}

Nach dem Login kopieren


Die Ausführungsergebnisse lauten wie folgt:

3
2
1

Nach dem Login kopieren

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...)

Nach dem Login kopieren

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]);
}

Nach dem Login kopieren


Die Ausführungsergebnisse lauten wie folgt:

1
7
8
9
2
3
4

Nach dem Login kopieren


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);
}

Nach dem Login kopieren


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);
}

Nach dem Login kopieren

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);

Nach dem Login kopieren

Das Ausführungsergebnis ist:

1
5
7

Nach dem Login kopieren


Arrays kopieren und abfangen

Der Code lautet beispielsweise wie folgt:

var arr1 = [1, 2, 3, 4];
var arr2 = arr1;

Nach dem Login kopieren

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)

Nach dem Login kopieren

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);

Nach dem Login kopieren


Die Ausführungsergebnisse lauten wie folgt:

1
2
3
4
1
2
10000
4

Nach dem Login kopieren


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);

Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage