Heim  >  Artikel  >  Web-Frontend  >  Eine kurze Diskussion über JavaScript-Array-Objekte_Grundkenntnisse

Eine kurze Diskussion über JavaScript-Array-Objekte_Grundkenntnisse

WBOY
WBOYOriginal
2016-05-16 16:23:51942Durchsuche

Array-Array

1. Einleitung

Ein Array ist eine geordnete Sammlung von Werten. Jeder Wert wird als Element bezeichnet, und jedes Element hat eine Position im Array, dargestellt durch eine Zahl, die als Index bezeichnet wird. JavaScript-Arrays sind untypisiert: Array-Elemente können jeden Typ haben und verschiedene Elemente im selben Array können unterschiedliche Typen haben. – „The Definitive Guide to JavaScript (6. Auflage)“

2. Definition

Code kopieren Der Code lautet wie folgt:

var name = new Array("Zhang San", "Li Si", "Wang Wu");
//oder
var name = ["Zhang San", "Li Si", "Wang Wu"];

3. Attribute

Länge: Gibt die Länge der Elemente im Array an.

4. Instanzmethoden

Gemeinsame Methoden:

1) unshift(): Elemente am Kopf des Arrays einfügen

2) shift(): Entferne das erste Element des Arrays und gib es zurück

3) push(): Elemente am Ende des Arrays einfügen

4) pop(): Entfernen Sie das letzte Element des Arrays und geben Sie es zurück

4.1 concat(): Elemente zu einem Array verbinden. Das ursprüngliche Array wird nicht geändert und ein neues Array wird zurückgegeben
Parameter:

①value1,value2....valueN: beliebig viele Werte

Rückgabewert:

{Array} Ein neues Array, das das ursprüngliche Array und die neu hinzugefügten Elemente enthält.

Beispiel:

Code kopieren Der Code lautet wie folgt:

var demoArray = ['a', 'b', 'c'];
var demoArray2 = demoArray.concat('e');
console.log(demoArray); // => demoArray:['a','b','c'] Das ursprüngliche Array ändert sich nicht
console.log(demoArray2); // =>
4.2 every(): Durchlaufen Sie die Elemente nacheinander und bestimmen Sie, ob jedes Element wahr ist

Parameter:

①function(value,index,self){}: Jedes Element verwendet diese Funktion, um zu bestimmen, ob es wahr ist. Wenn festgestellt wird, dass eines davon falsch ist, wird der Durchlauf sofort beendet.

Wert: Elemente der Array-Traversierung

Index: Elementnummer

Selbst: Array selbst

Rückgabewert:

{Boolean}: Gibt nur true zurück, wenn jedes Element true ist; gibt false zurück, solange ein Element false ist.

Beispiel:

Code kopieren Der Code lautet wie folgt:
var demoArray = [1, 2, 3];
var rs = demoArray.every(function (value, index, self) {
Rückgabewert > 0;
});
console.log(rs); // => true

4.3 filter(): Durchläuft die Elemente nacheinander und gibt ein neues Array zurück, das Elemente enthält, die die Bedingungen erfüllen.

Parameter:

①function(value,index,self){}: Rufen Sie diese Funktion nacheinander für jedes Element auf und geben Sie ein neues Array zurück, das Elemente enthält, die die Bedingungen erfüllen.

Wert: Elemente der Array-Traversierung

Index: Elementnummer

Selbst: Array selbst

Rückgabewert:

{Array} Ein neues Array mit Elementen, die die Kriterien erfüllen

Beispiel:

Code kopieren Der Code lautet wie folgt:
var demoArray = [1, 2, 3];
var rs = demoArray.filter(function (value, index, self) {
Rückgabewert > 0;
});
console.log(rs); // =>

4.4 forEach(): Durchlaufen Sie die Elemente nacheinander und führen Sie die angegebene Funktion aus. Parameter:


①function(value,index,self){}: Rufen Sie diese Funktion nacheinander für jedes Element auf

Wert: Elemente der Array-Traversierung

Index: Elementnummer

Selbst: Array selbst

Rückgabewert: Keiner

Beispiel:

var demoArray = [1, 2, 3];
demoArray.forEach(function (value, index, self) {
Console.log(value); // => Ausgabe in der Reihenfolge: 1 2 3
});

4.5 indexOf(): Finden Sie passende Elemente im Array. Wenn kein passendes Element vorhanden ist, wird -1 zurückgegeben. Verwenden Sie bei der Suche den Operator „===", daher müssen Sie zwischen 1 und „1“ unterscheiden
Parameter:

①Wert: Der im Array zu findende Wert.

②start: Die Seriennummernposition, an der mit der Suche begonnen werden soll. Wenn sie weggelassen wird, ist sie 0.

Rückgabewert:

{Int}: Gibt die Seriennummer des ersten übereinstimmenden Werts im Array zurück. Wenn dieser nicht existiert, wird -1 zurückgegeben

Beispiel:

Code kopieren Der Code lautet wie folgt:

['a', 'b', 'c'].indexOf('a'); // =>0
['a', 'b', 'c'].indexOf('a', 1); // =>-1
['a', 'b', 'c').indexOf('d'); // =>-1
[1, 2, 3].indexOf('1'); // => -1: '===' verwendete Matching-Methode

4.6 join(): Alle Elemente im Array mithilfe eines Trennzeichens zu einer Zeichenfolge zusammenfügen.
Parameter:

①sparator {String}: Das Trennzeichen zwischen den einzelnen Elementen. Wenn es weggelassen wird, wird es standardmäßig durch englische Kommas getrennt.

Rückgabewert:

{String}: Jedes Element wird in einen String mit Sparator als Trennzeichen gespleißt.

Beispiel:

Code kopieren Der Code lautet wie folgt:

['a', 'b', 'c'].join(); // => ['a', 'b', 'c'].join('-'); // =>

4.7 lastIndexOf: Finden Sie passende Elemente im umgekehrten Array. Wenn kein passendes Element vorhanden ist, wird -1 zurückgegeben. Verwenden Sie bei der Suche den Operator „===", daher müssen Sie zwischen 1 und „1“ unterscheiden Parameter:


①Wert: Der im Array zu findende Wert.

②start: Die Seriennummer, an der mit der Suche begonnen werden soll. Wenn diese Angabe weggelassen wird, beginnt die Suche beim letzten Element.

Rückgabewert:

{Int}: Suchen Sie von rechts nach links nach der Seriennummer des ersten übereinstimmenden Werts im Array. Wenn dieser nicht vorhanden ist, geben Sie -1 zurück

Beispiel:

['a', 'b', 'c').lastIndexOf('a'); // => ['a', 'b', 'c').lastIndexOf('a', 1); // => ['a', 'b', 'c').lastIndexOf('d'); // => [1, 2, 3].lastIndexOf('1'); // => -1: '===' verwendete Matching-Methode



4.8 map(): Durchlaufen und berechnen Sie jedes Element nacheinander und geben Sie ein Array berechneter Elemente zurück
Parameter:
①function(value,index,self){}: Jedes Element ruft diese Funktion der Reihe nach auf und gibt das berechnete Element zurück

Wert: Elemente der Array-Traversierung

Index: Elementnummer

Selbst: Array selbst

Rückgabewert:

{Array} Ein neues Array mit guten Elementen

Beispiel:

Code kopieren

Der Code lautet wie folgt: [1, 2, 3].map(function (value, index, self) { Rückgabewert * 2; }); // =>

4.9 pop(): Entfernen Sie das letzte Element des Arrays und geben Sie es zurück
Parameter: Keine

Rückgabewert:
{Object} Das letzte Element des Arrays; wenn das Array leer ist, wird undefiniert

zurückgegeben
Beispiel:

Code kopieren

Der Code lautet wie folgt: var demoArray = ['a', 'b', 'c']; demoArray.pop(); // => c demoArray.pop(); // => b demoArray.pop(); // => demoArray.pop(); // => undefiniert


4.10 push(): Elemente am Ende des Arrays hinzufügen
Parameter:

①value1,value2....valueN: Fügen Sie eine beliebige Anzahl von Werten am Ende des Arrays hinzu
Rückgabewert:

{int} neue Länge des Arrays

Beispiel:

Code kopieren

Der Code lautet wie folgt:

4.11 reverse(): Kehrt die Reihenfolge der Array-Elemente um.
Parameter: Keine

Rückgabewert: Keiner (kehrt die Reihenfolge der Elemente im ursprünglichen Array um).

Beispiel:

Code kopieren Der Code lautet wie folgt:

var demoArray = ['a', 'b', 'c', 'd', 'e'];
demoArray.reverse();
console.log(demoArray); // => ["e", "d", "c", "b", "a"]

4.12 Shift(): Entfernen Sie das erste Element des Arrays und geben Sie es zurück
Parameter: Keine

Rückgabewert:

{Object} Das erste Element des Arrays; wenn das Array leer ist, wird undefiniert zurückgegeben.

Beispiel:

Code kopieren Der Code lautet wie folgt:

var demoArray = ['a', 'b', 'c'];
demoArray.shift(); // => demoArray.shift(); // => b
demoArray.shift(); // => demoArray.shift(); // => undefiniert


4.13 Slice(startIndex,endIndex): Gibt einen Teil des Arrays zurück. Parameter:


①startIndex: Die Seriennummer am Anfang; wenn es eine negative Zahl ist, bedeutet dies, dass vom Ende an gezählt wird, -1 stellt das letzte Element dar, -2 stellt das vorletzte Element dar und so weiter.

②endIndex: Die Seriennummer nach dem Element am Ende. Wenn nicht angegeben, ist es das Ende. Das abgefangene Element enthält hier nicht das Element mit der Seriennummer und endet mit dem Element vor der Seriennummer hier.

Rückgabewert:

{Array} Ein neues Array, das alle Elemente von startIndex bis zum vorherigen Element von endIndex enthält.

Beispiel:

[1, 2, 3, 4, 5, 6].slice(); // => [1, 2, 3, 4, 5, 6].slice(1); // => [1, 2, 3, 4, 5, 6].slice(0, 4); // => 4) Element
[1, 2, 3, 4, 5, 6].slice(-2); // =>


4.14 sort(opt_orderFunc): Nach bestimmten Regeln sortieren
Parameter:
①opt_orderFunc(v1,v2) {Funktion}: Optionale Sortierregelfunktion. Wenn es weggelassen wird, werden die Elemente alphabetisch von klein nach groß sortiert.

v1: Das vorherige Element beim Durchlaufen.

v2: Die folgenden Elemente beim Durchqueren.

Sortieren:

Vergleichen Sie v1 und v2 und geben Sie eine Zahl zurück, die die Sortierregeln von v1 und v2 darstellt:

Kleiner als 0: v1 ist kleiner als v2, v1 liegt vor v2.

Gleich 0: v1 ist gleich v2, v1 steht vor v2.

Größer als 0: v1 ist größer als v2, v1 liegt hinter v2.

Rückgabewert: Keiner (Sortiervorgang im ursprünglichen Array).

Beispiel:

Code kopieren

Der Code lautet wie folgt: [1, 3, 5, 2, 4, 11, 22].sort(); // => Zeichen von 11 kommt vor 2 [1, 3, 5, 2, 4, 11, 22].sort(function (v1, v2) { Geben Sie v1 - v2;
zurück }); // => [1, 2, 3, 4, 5, 11, 22]: Von klein nach groß sortieren
[1, 3, 5, 2, 4, 11, 22].sort(function (v1, v2) {
Return -(v1 - v2); //Wenn Sie es negieren, können Sie es in „Von groß nach klein“ konvertieren
}); // => [22, 11, 5, 4, 3, 2, 1]



4.15 splice(): Array-Elemente einfügen und löschen
Parameter:
①start {int}: Die Startsequenznummer zum Starten des Einfügens, Löschens oder Ersetzens.

②deleteCount {int}: Die Anzahl der zu löschenden Elemente, gezählt vom Anfang an.

③value1,value2 ... valueN {Object}: optionaler Parameter, der das einzufügende Element angibt, beginnend mit dem Anfang. Wenn der Parameter ② nicht 0 ist, wird zuerst der Löschvorgang und dann der Einfügevorgang ausgeführt.

Rückgabewert:

{Array} Gibt ein neues Array zurück, das die gelöschten Elemente enthält. Wenn der Parameter ② 0 ist, bedeutet dies, dass keine Elemente gelöscht werden und ein leeres Array zurückgegeben wird.

Beispiel:

Code kopieren

Der Code lautet wie folgt:

// 1.
löschen var demoArray = ['a', 'b', 'c', 'd', 'e'];
var demoArray2 = demoArray.splice(0, 2); // 2 Elemente beginnend bei 0 löschen und ein Array zurückgeben, das die gelöschten Elemente enthält: ['a', 'b']
console.log(demoArray2); // => console.log(demoArray); // => // 2.
einfügen var demoArray = ['a', 'b', 'c', 'd', 'e'];
var demoArray2 = demoArray.splice(0, 0, '1', '2', '3'); // ②Der Parameter ist 0 und ein leeres Array wird zurückgegeben
console.log(demoArray2); // => console.log(demoArray); // => // 3. Zuerst löschen und dann
einfügen var demoArray = ['a', 'b', 'c', 'd', 'e'];
// Wenn der Parameter ② nicht 0 ist, führen Sie zuerst den Löschvorgang aus (löschen Sie die 4 Elemente beginnend bei 0 und geben Sie ein Array mit den gelöschten Elementen zurück) und führen Sie dann den Einfügevorgang
aus var demoArray2 = demoArray.splice(0, 4, '1', '2', '3');
console.log(demoArray2); // => console.log(demoArray); // =>


4.16 toString(): Verkettet alle Elemente im Array durch ein englisches Komma „,“ zu einer Zeichenfolge.
Parameter: Keine

Rückgabewert:
{String} Alle Elemente im Array werden durch ein englisches Komma „,“ zu einem String verkettet und zurückgegeben. Dasselbe wie der Aufruf der Methode join() ohne Parameter.


Beispiel:

Code kopieren

Parameter:

①value1,value2....valueN: Fügen Sie eine beliebige Anzahl von Werten zum Kopf des Arrays hinzu

Rückgabewert:
{int} neue Länge des Arrays


Beispiel:

Code kopieren

Der Code lautet wie folgt:

var demoArray = []; demoArray.unshift('a'); // => demoArray:['a'] demoArray.unshift('b'); // => demoArray:['b', 'a'] demoArray.unshift('c'); // => demoArray:['c', 'b', 'a'] demoArray.unshift('d'); // => demoArray:['d', 'c', 'b', 'a'] demoArray.unshift('e'); // => demoArray:['e', 'd', 'c', 'b', 'a']



5. Statische Methode


5.1 Array.isArray(): Bestimmen Sie, ob das Objekt ein Array ist
Parameter:
①Wert {Objekt}: jedes Objekt

Rückgabewert:

{Boolean} Gibt das Beurteilungsergebnis zurück. Wenn es wahr ist, bedeutet es, dass das Objekt ein Array ist; wenn es falsch ist, bedeutet es, dass das Objekt kein Array ist


Beispiel:

Code kopieren

Der Code lautet wie folgt:


6. Praktische Bedienung


6.1 Index
Beschreibung: Jedes Element hat eine Position im Array, dargestellt durch eine Zahl, die als Index bezeichnet wird. Der Index beginnt bei 0, das heißt, der Index des ersten Elements ist 0, der Index des zweiten Elements ist 1 und so weiter;
Wenn ein Index abgerufen wird, der nicht im Array vorhanden ist, wird undefiniert zurückgegeben.

Beispiel:


Code kopieren

Der Code lautet wie folgt:

6.2 für Erklärung
Hinweis: Sie können das Array einzeln mit der for-Anweisung
durchlaufen
Beispiel:


Code kopieren

Der Code lautet wie folgt:

var demoArray = ['a', 'b', 'c', 'd', 'e']; for (var i = 0, length = demoArray.length; i < length; i ) { console.log(demoArray[i]); // => Die Elemente im Array einzeln ausgeben }

6.3 Flache Kopie
Hinweis: Der Array-Typ ist ein Referenztyp. Wenn Array a in Array b kopiert wird und die Elemente von Array b geändert werden, wird auch Array a geändert.

Beispiel:

Code kopieren Der Code lautet wie folgt:

var demoArrayA = ['a', 'b', 'c', 'd', 'e'];
var demoArrayB = demoArrayA; // Array A dem Array B zuweisen
demoArrayB[0] = 1; // Elemente von Array B ändern
console.log(demoArrayA); // => [1, 'b', 'c', 'd', 'e']: Die Elemente von Array A haben sich ebenfalls geändert

6.4 Deep Copy
Beschreibung: Verwenden Sie die Methode concat(), um ein neues Array zurückzugeben. Um ein flaches Kopieren zu verhindern, ändern Sie die Elemente von Array b, und Array a ändert sich nicht.

Beispiel:

Code kopieren Der Code lautet wie folgt:

var demoArrayA = ['a', 'b', 'c', 'd', 'e'];
var demoArrayB = demoArrayA.concat(); // Verwenden Sie die concat()-Methode, um ein neues Array zurückzugeben
demoArrayB[0] = 1; // Elemente von Array B ändern
console.log(demoArrayA); // => ['a', 'b', 'c', 'd', 'e']: Die Elemente von Array A haben sich nicht geändert
console.log(demoArrayB); // => [ 1, 'b', 'c', 'd', 'e']: Die Elemente von Array B haben sich geändert
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