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

Detaillierte Erläuterung relevanter Kenntnisse über Arrays in JavaScript_JavaScript

WBOY
WBOYOriginal
2016-05-16 15:48:251336Durchsuche

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:

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

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

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