eingehender und leicht verständlicher JavaScript-Array: Detaillierte Erläuterung der Erstellung und Operation
Kernpunkte
length
Attribute, kann betrieben werden und hat ein nummeriertes Attribut mit einem Namensbereich zwischen 0 und 4294967294 (einschließlich). JavaScript unterstützt keine assoziativen Arrays. push
, unshift
und splice
; pop
shift
splice
Erfahren Sie, wie Sie JavaScript -Arrays manipulieren. Wir werden den Array -Erstellungsprozess abdecken, die Arraylänge ändern und Einträge hinzufügen, entfernen und ersetzen. Das Attribut eines Objekts ist eine Eigenschaft, die viele Neulinge in JavaScript nicht verstehen. Viele Menschen glauben fälschlicherweise, dass funktioniert, lassen Sie uns sehen, was passiert, wenn wir seinen Wert selbst ändern, oder eine Operation ausführen, die auch eine Längenänderung verursacht. Fangen wir von vorne an. JavaScript -Arrays haben ein Attribut mit dem Namen Array
und können optional ein nummeriertes Attribut erhalten, dessen Name zwischen 0 und 4294967294 liegt (einschließlich). Es gibt auch einige Methoden zum Manipulieren von Eigenschaften, von denen wir einige untersuchen werden, wie length
Eigenschaften funktionieren. Beachten Sie, dass JavaScript keine assoziativen Arrays unterstützt. Während Sie dem Array benannte Eigenschaften hinzufügen können, sind sie nicht Teil des Arrays und werden von allen Array -Methoden ignoriert. Sie beeinflussen auch keine Länge. Um zu erleichtern, zu zeigen, was mit Array -Eigenschaften bei der Arbeit mit verschiedenen Aussagen passiert, werden wir nach jedem Code die folgende Funktion ausführen. Dadurch wird die Länge des Arrays und alle nummerierten Eigenschaften zur Konsole des Browsers aufgezeichnet. length
length
length
length
Dieser Artikel wurde von Chris Perry und Marcello La Rocca überprüft. Vielen Dank an alle Peer -Rezensenten von SitePoint, um den Inhalt von SitePoint perfekt zu machen! length
var test = function(array) { console.log('length:'+ array.length); array.forEach(function(element, index, array) { console.log(index + ':' + element); }); };
Wir werden zunächst verschiedene Möglichkeiten betrachten, Arrays in JavaScript zu erstellen. Die von den ersten beiden Beispielen erstellten Arrays sind nur in Länge eingestellt und haben überhaupt keine nummerierten Einträge. Die letzten beiden Beispiele erstellen einen nummerierten Eintrag von 0 bis minus Länge 1. Ein Array mit einer Länge, die größer als die nummerierten Attribute ist, wird als spärliches Array bezeichnet, während ein Array mit einer Länge, die den nummerierten Attributen entspricht, als dichtes Array bezeichnet wird.
var test = function(array) { console.log('length:'+ array.length); array.forEach(function(element, index, array) { console.log(index + ':' + element); }); };
Beachten Sie, dass beim Erstellen eines neuen Arrays die Array -Literalnotation bevorzugt wird (definiert ein neues Array mit leeren Klammern).
// 创建一个没有编号条目的数组 var arr = new Array(5); test(arr); // length: 5 var arr = []; arr.length = 5; test(arr); // length: 5
Array -Methoden, die nummerierte Attribute verarbeiten (in diesem Fall forEach
), werden nur vorhandene Attribute verarbeitet. Wenn Sie stattdessen mit for
oder while
schleifen, versucht die Schleife auch, nicht existierende Eigenschaften zu verarbeiten, und das Array identifiziert nicht existierende Einträge als undefined
. Ihr Code kann dann nicht das letzte Beispiel von den ersten beiden Beispielen unterscheiden. Wenn Sie nicht sicher sind, ob Sie an dichten Arrays arbeiten, sollten Sie immer die Array -Methode verwenden, um das Array zu verarbeiten.
Das folgende Beispiel sieht, was passiert, wenn wir eine neue Länge für das Array einstellen, das kleiner als die Stromlänge ist.
var arr = ['a', 'b', 'c', 'd', 'e']; test(arr); // length:5, 0:a, 1:b, 2:c, 3:d, 4:e var arr = [undefined, undefined, undefined, undefined, undefined]; test(arr); // length:5, 0:undefined, 1:undefined, 2:undefined, 3:undefined, 4:undefined
Beachten Sie, dass beim Erstellen eines Arrays mithilfe der []
-Strittung jeder Eintrag aus einem Wert besteht, der von einem Komma gefolgt wird. Wenn der Wert weggelassen wird, wird für diesen Ort kein Attribut erstellt. Das letzte Komma kann nur weggelassen werden, wenn ein Wert für diese Eigenschaft bereitgestellt wird, andernfalls wird die Länge um eins reduziert.
JavaScript enthält drei Methoden pop
, shift
und splice
, um Einträge aus einem Array zu entfernen und damit die Länge des Arrays zu verringern. In jedem Fall wird der entfernte Wert (oder Wert) durch den Anruf zurückgegeben.
var arr = ['a', 'b', 'c', 'd', 'e', 'f']; test(arr); // length:6, 0:a, 1:b, 2:c, 3:d, 4:e, 5:f arr.length = 5; test(arr); // length:5, 0:a, 1:b, 2:c, 3:d, 4:e var arr = ['a','b','c','d','e','f',,,]; test(arr); // length:8, 0:a, 1:b, 2:c, 3:d, 4:e, 5:f arr.length = 7; test(arr); // length:7, 0:a, 1:b, 2:c, 3:d, 4:e, 5:f
Wir können dem Array neue Einträge hinzufügen, indem wir einfach angeben, wo das nummerierte Attribut noch nicht existiert. Wir können auch eine der drei von JavaScript (push
, unshift
und splice
) bereitgestellten Methoden verwenden, um neue Einträge einzufügen und bei Bedarf alte Einträge zu verschieben.
// pop() 从数组中移除最后一个元素 var arr = ['a','b','c','d','e','f']; var el = arr.pop(); test(arr); // length:5, 0:a, 1:b, 2:c, 3:d, 4:e console.log(el); // f // shift() 从数组中移除第一个元素 var arr = ['a','b','c','d','e','f']; var el = arr.shift(); test(arr); // length:5, 0:b, 1:c, 2:d, 3:e, 4:f console.log(el); // a // splice() 可以移除现有元素 var arr1 = ['a','b','c','d','e','f']; var arr2 = arr1.splice(0,2); // 从索引0开始移除2个元素 test(arr1); // length:4, 0:c, 1:d, 2:e, 3:f test(arr2); // length:2, 0:a, 1:b var arr1 = ['a','b','c','d','e','f',,,'i']; var arr2 = arr1.splice(6,2); // 从索引6开始移除2个元素 test(arr1); // length:7, 0:a, 1:b, 2:c, 3:d, 4:e, 5:f, 6:i test(arr2); // length:2
splice()
Wenn wir einem vorhandenen Eintrag einen neuen Wert zuweisen, erhält der Eintrag nur den neuen Wert und der Rest des Arrays wird nicht betroffen. Ebenso können wir durch Kombination von Varianten der von uns untersuchten
var arr = ['a','b','c','d','e','f',,,'i']; arr[11] = 'l'; test(arr); // length:12, 0:a, 1:b, 2:c, 3:d, 5:f, 8:i, 11:l // push() 将一个或多个元素添加到数组的末尾 var arr = ['a','b','c','d','e','f',,,,]; arr.push('j'); test(arr); // length:10, 0:a, 1:b, 2:c, 3:d, 5:f, 9:j // unshift() 将一个或多个元素添加到数组的开头 var arr = ['a','b','c','d','e','f',,,,]; arr.unshift('x'); test(arr); // length:10, 0:x, 1:a, 2:b, 3:c, 4:d, 5:e, 6:f arr1 = ['a','b','c','d','e','f',,,'i']; arr2 = arr1.splice(6,0,'g','h'); // 从索引6移除0个元素,并插入'g'、'h' test(arr1); // length:11, 0:a, 1:b, 2:c, 3:d, 5:f, 6:g, 7:h, 10:i test(arr2); // length:0
length
Das obige Beispiel sollte Ihnen ein besseres Verständnis dafür geben, wie die
In JavaScript können Sie die Methode push()
verwenden, um Elementen zu einem Array hinzuzufügen. Diese Methode fügt zum Ende des Arrays ein neues Element hinzu und gibt eine neue Länge zurück. Hier ist ein Beispiel:
var test = function(array) { console.log('length:'+ array.length); array.forEach(function(element, index, array) { console.log(index + ':' + element); }); };
JavaScript bietet verschiedene Möglichkeiten, Elemente aus einem Array zu entfernen. Die pop()
-Methode entfernt das letzte Element aus dem Array und gibt das Element zurück. Die shift()
-Methode entfernt das erste Element aus dem Array und gibt das Element zurück. Hier finden Sie, wie Sie diese Methoden verwenden:
// 创建一个没有编号条目的数组 var arr = new Array(5); test(arr); // length: 5 var arr = []; arr.length = 5; test(arr); // length: 5
(Der nachfolgende FAQ -Inhalt steht hier im Einklang mit dem Originaltext, um die Duplikation zu vermeiden)
Das obige ist der detaillierte Inhalt vonJavaScript -Arrays: Erstellen und Manipulationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!