Dieses Beispiel fasst gemeinsame Betriebstechniken für JavaScript -Arrays zusammen. Teilen Sie es für Ihre Referenz. Die Details sind wie folgt:
Vorwort
Ich glaube, jeder wird es gewohnt, Array-bezogene Operationen zu verwenden, die in Klassenbibliotheken wie JQuery oder Undercore wie $ .IsArray, _.Some, _.Find und anderen Methoden üblicherweise verwendet werden. Hier ist nichts anderes als ein bisschen mehr Wrapper für einheimische JS -Array -Operationen.
Hier werden wir hauptsächlich die gemeinsamen APIs für JavaScript -Array -Operationen zusammenfassen. Ich glaube, es wird für alle sehr hilfreich sein, die Programmprobleme zu lösen.
1. Natur
Ein Array in JavaScript ist ein spezielles Objekt, und der Index, der zur Darstellung eines Versatzes verwendet wird, ist eine Eigenschaft des Objekts, und der Index kann eine Ganzzahl sein. Diese numerischen Indizes werden jedoch intern in den String -Typ konvertiert, da der Attributname im JavaScript -Objekt eine Zeichenfolge sein muss.
2. Betrieb
1 Bestimmen Sie den Array -Typ
Kopieren Sie den Code wie folgt: var array0 = []; // wörtlich
var array1 = new Array (); // Konstruktor
// Hinweis: Die Array.IsArray -Methode wird unter IE6/7/8 nicht unterstützt
Alert (Array.IsArray (Array0));
// Die Kompatibilität berücksichtigen, kann verwendet werden
ALERT (Array1 -Instanz von Array);
// oder
alert (Object.Prototype.toString.call (array1) === '[Objektarray]');
2 Array und Zeichenfolge
Sehr einfach: Konvertieren Sie von einem Array in eine Zeichenfolge, verwenden Sie Join. Konvertieren Sie von einer Zeichenfolge in ein Array, verwenden Sie Split.
Kopieren Sie den Code wie folgt: // Join - Konvertieren Sie von Array in die Zeichenfolge, verwenden Sie Join
console.log (['Hallo', 'Welt']. Join (',')); // Hallo, Welt
// Split - Konvertieren Sie von String in Array mit Split
console.log ('Hello World'.Split (' ')); // ["Hallo", "Welt"]
3 Elemente finden
Ich glaube, dass jeder oft den String -Typ -Index von Index verwendet, aber selten weiß, dass der Index eines Arrays auch verwendet werden kann, um Elemente zu finden.
Kopieren Sie den Code wie folgt: // indexof - Suchen Sie Elemente
console.log (['ABC', 'BCD', 'CDE']. INDEXOF ('BCD')); // 1
//
var objinarray = [
{
Name: 'König',
Pass: '123'
},
{
Name: 'King1',
Pass: '234'
}
];
console.log (objinarray.indexof ({{{{{
Name: 'König',
Pass: '123'
})); // -1
var elementofArray = objinArray [0];
console.log (objinarray.indexof (elementofArray)); // 0
Aus dem obigen können wir sehen, dass für ein Array, das Objekte enthält, die Index -Methode die entsprechenden Suchergebnisse nicht durch einen tiefen Vergleich erhält, sondern nur die Verweise auf die entsprechenden Elemente vergleicht.
4 Array -Verbindungen
Beachten Sie bei der Verwendung von CONCAT, dass nach der Verwendung von CONCAT ein neues Array generiert wird.
Die Codekopie lautet wie folgt: var array1 = [1, 2, 3];
var array2 = [4, 5, 6];
var array3 = array1.concat (Array2); // Nach der Implementierung der Array -Verbindung wird ein neues Array erstellt
console.log (array3);
5 Kategorien von Listenoperationen
Um Elemente hinzuzufügen, können Sie Push bzw. Entschicht verwenden, und um Elemente zu entfernen, können Sie POP bzw. verschieben.
Kopieren Sie den Code wie folgt: // Push/Pop/Shift/Unshift
var Array = [2, 3, 4, 5];
// Fügen Sie zum Ende des Arrays hinzu
Array.push (6);
console.log (Array); // [2, 3, 4, 5, 6]
// dem Array -Header hinzufügen
Array.Unshift (1);
console.log (Array); // [1, 2, 3, 4, 5, 6]
// das letzte Element entfernen
var elementofpop = array.pop ();
console.log (elementofPop); // 6
console.log (Array); // [1, 2, 3, 4, 5]
// das erste Element entfernen
var elementOfShift = array.shift ();
console.log (elementofShift); // 1
console.log (Array); // [2, 3, 4, 5]
6 Spleißmethode
Zwei Hauptnutzungen:
① Elemente aus der Mitte des Arrays hinzufügen und löschen
② Holen Sie sich ein neues Array aus dem ursprünglichen Array
Natürlich werden die beiden Verwendungen in einem Gas synthetisiert. Einige Szenarien konzentrieren sich auf den Zweck, andere konzentrieren sich auf den zweiten Zweck.
Fügen Sie Elemente aus der mittleren Position des Arrays hinzu und löschen Sie sie. Die Spleißmethode fügt dem Array Elemente hinzu. Die folgenden Parameter sind erforderlich.
① Starten Sie den Index (dh, wo Sie Elemente hinzufügen möchten)
② Die Anzahl der Elemente, die gelöscht werden müssen, oder die Anzahl der extrahierten Elemente (der Parameter wird beim Hinzufügen von Elementen auf 0 gesetzt)
③ Elemente, die Sie dem Array hinzufügen möchten
Die Codekopie lautet wie folgt: var nums = [1, 2, 3, 7, 8, 9];
nums.splice (3, 0, 4, 5, 6);
console.log (nums); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
// Dann die Löschvorrichtung durchführen oder ein neues Array extrahieren
var newnums = nums.Splice (3, 4);
console.log (nums); // [1, 2, 3, 8, 9]
console.log (newnums); // [4, 5, 6, 7]
7 Sortieren
Die Haupteinführung in umgekehrte und sortierende Methoden. Array -Inversion verwendet Reverse, die Sortiermethode kann nicht nur für die einfache Sortierung, sondern auch für die komplexe Sortierung verwendet werden.
Kopieren Sie den Code wie folgt:/ um invertieren das Array
var Array = [1, 2, 3, 4, 5];
Array.Reverse ();
console.log (Array); // [5, 4, 3, 2, 1]
Wir sortieren zuerst die Reihe von Stringelementen
var arrayofnames = ["David", "Mike", "Cynthia", "Clayton", "Bryan", "Raymond"];
arrayofnames.sort ();
console.log (arrayofnames); // ["Bryan", "Clayton", "Cynthia", "David", "Mike", "Raymond"]
Wir sortieren Arrays numerischer Elemente
Kopieren Sie den Code wie folgt:/ Wenn das Array -Element numerischer Typ ist, ist das Sortierungsergebnis von Sort () nicht zufriedenstellend.
var nums = [3, 1, 2, 100, 4, 200];
nums.sort ();
console.log (nums); // [1, 100, 2, 200, 3, 4]
Die Sortiermethode sortiert Elemente in der Wörterbuchreihenfolge. Daher wird davon ausgegangen, dass Elemente alle String -Typen sind. Selbst wenn es sich bei den Elementen um numerische Typen handelt, werden sie als String -Typen betrachtet. Zu diesem Zeitpunkt können Sie beim Aufrufen der Methode eine Größenvergleichsfunktion übergeben. Bei der Sortierung vergleichen die Sort () -Methode die Größen zweier Elemente im Array basierend auf der Funktion und bestimmen dadurch die Reihenfolge des gesamten Arrays.
Kopieren Sie den Code wie folgt: var compare = function (num1, num2) {
return num1> num2;
};
nums.sort (vergleichen);
console.log (nums); // [1, 2, 3, 4, 100, 200]
var objinarray = [
{
Name: 'König',
Pass: '123',
Index: 2
},
{
Name: 'King1',
Pass: '234',
Index: 1
}
];
// Aufstiegsreihenfolge gemäß dem Index für Objektelemente im Array
var compare = function (o1, o2) {
return o1.index> o2.index;
};
objinarray.sort (vergleichen);
console.log (objinarray [0] .Index <objinarray [1] .Index); // WAHR
8 Iteratormethode
Enthält hauptsächlich für Foreach und alle, einige und Karte, Filter
Ich glaube, jeder kann es fürCh tun, und ich werde hauptsächlich die anderen vier Methoden vorstellen.
Die jede Methode akzeptiert eine Funktion mit einem Booleschen Rückgabewert, der für jedes Element im Array verwendet wird. Wenn die Funktion für alle Elemente TRUE zurückgibt, gibt die Methode true zurück.
Die Codekopie lautet wie folgt: var nums = [2, 4, 6, 8];
// Iteratormethode, die keine neuen Arrays generiert
var iseven = function (num) {
Return Num % 2 === 0;
};
// Wenn alle nur Zahlen sind, geben Sie True zurück
console.log (nums.Every (iseven)); // WAHR
Eine Methode akzeptiert auch eine Funktion mit einem Booleschen Rückgabewert. Solange es ein Element gibt, das die Funktion zurückgibt, gibt die Methode wahr.
var iseven = function (num) {
Return Num % 2 === 0;
};
var nums1 = [1, 2, 3, 4];
console.log (nums1.some (iseven)); // WAHR
Sowohl MAP- als auch Filtermethoden können neue Arrays erzeugen. Das von MAP zurückgegebene Neue Array ist das Ergebnis der Anwendung einer Funktion auf das ursprüngliche Element. wie:
Kopieren Sie den Code wie folgt: var up = function (grade) {
Rückgabequalität += 5;
}
var grade = [72, 65, 81, 92, 85];
var Newgrades = grade.ma
Die Filtermethode ist jeder Methode sehr ähnlich, die eine Funktion mit einem booleschen Rückgabewert übergibt. Im Gegensatz zu jeder () Methode, wenn die Funktion auf alle Elemente im Array angewendet wird und das Ergebnis wahr ist, kehrt die Methode nicht wahr zurück, gibt jedoch ein neues Array zurück, das die Elemente enthält, deren Ergebnis nach Antrag der Funktion wahr ist.
Kopieren Sie den Code wie folgt: var iseven = function (num) {
Return Num % 2 === 0;
};
var isodd = function (num) {
Return Num % 2! == 0;
};
var nums = [];
für (var i = 0; i <20; i ++) {
nums [i] = i + 1;
}
var evens = nums.Filter (iseenen);
console.log (evens); // [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
var odds = nums.filter (isodd);
console.log (Gewinnchancen); // [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
3. Zusammenfassung
Das obige hat auch das Problem, dass einige Methoden in Browsern auf niedrigem Niveau nicht unterstützt werden, und andere Methoden müssen für die kompatible Implementierung verwendet werden.
Dies sind häufige Methoden, die für alle möglicherweise nicht leicht denken können. Jeder könnte genauso gut mehr Aufmerksamkeit schenken.
Ich hoffe, dieser Artikel wird für JavaScript -Programme aller hilfreich sein.