Heim >Web-Frontend >js-Tutorial >Grundlegende Operationen von JS-Arrays (alle von mir selbst organisiert)_Javascript-Kenntnisse
Ich verwende js schon lange, habe mich aber nie mit der Array-Form von js befasst. Gelegentlich verwenden Sie einfach einfach string.split(char). Ein Projekt, an dem ich in dieser Zeit gearbeitet habe, verwendete an vielen Stellen Arrays. Ich dachte, ich wäre ein Meister von JS, aber ich konnte nicht damit anfangen. Ich werde von Ihnen lernen. hehe. Nachdem ich es gelernt hatte, wurde mir klar, dass js-Arrays sehr leistungsfähig sind, viel leistungsfähiger als VB und C#. Werfen wir einen Blick darauf
1. Erstellung eines Arrays
var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值
Es ist zu beachten, dass die zweite Methode zwar ein Array erstellt und die Länge angibt, das Array jedoch in allen Fällen eine variable Länge hat. Das heißt, selbst wenn die Länge mit 5 angegeben ist, können die Elemente dies tun Bitte beachten Sie, dass die Länge weiterhin in der angegebenen Länge gespeichert wird.
2. Zugriff auf Array-Elemente
var testGetArrValue=arrayObj[1] //Den Elementwert des Arrays abrufen
arrayObj[1]= „Dies ist ein neuer Wert“; //Array-Elementen neue Werte zuweisen
3. Array-Elemente hinzufügen
Code
arrayObj. push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度 arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度 arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。
4. Löschen von Array-Elementen
arrayObj.pop(); //移除最后一个元素并返回该元素值 arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移 arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素
5. Abfangen und Zusammenführen von Arrays
arrayObj.slice(start, [end]); //Einen Teil des Arrays in Form eines Arrays zurückgeben. Beachten Sie, dass das Element, das end entspricht, nicht enthalten ist kopiert werden
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //Verketten Sie mehrere Arrays (können auch Strings oder eine Mischung aus Arrays und Strings sein) zu einem Array und geben Sie die neue Verbindung zurück Array
6. Kopie des Arrays
arrayObj.slice(0); //Gibt ein Kopie-Array des Arrays zurück. Beachten Sie, dass es sich um ein neues Array handelt, das nicht auf
verweist
arrayObj.concat(); //Ein Kopie-Array des Arrays zurückgeben. Beachten Sie, dass es sich um ein neues Array handelt, das nicht auf
zeigt
7. Sortieren von Array-Elementen
arrayObj.reverse(); // Die Elemente umkehren (das erste zum letzten, das letzte nach vorne) und die Array-Adresse zurückgeben
arrayObj.sort(); // Sortieren Sie die Array-Elemente und geben Sie die Array-Adresse zurück
8. Stringifizierung von Array-Elementen
arrayObj.join(separator); //Gibt eine Zeichenfolge zurück, die jeden Elementwert des Arrays miteinander verbindet, getrennt durch ein Trennzeichen.
toLocaleString, toString, valueOf: kann als spezielle Verwendung von Join angesehen werden, die nicht häufig verwendet wird
2. Drei Attribute von Array-Objekten
1. Längenattribut
Das Längenattribut stellt die Länge des Arrays dar, also die Anzahl der darin enthaltenen Elemente. Da der Index eines Arrays immer bei 0 beginnt, sind die oberen und unteren Grenzen eines Arrays: 0 bzw. Länge-1. Im Gegensatz zu den meisten anderen Sprachen ist die Längeneigenschaft von JavaScript-Arrays variabel, was besondere Aufmerksamkeit erfordert. Wenn das Längenattribut größer eingestellt wird, ändert sich der Zustand des gesamten Arrays nicht. Nur das Längenattribut wird größer, wenn das Längenattribut kleiner als das Original gesetzt wird, und die Elemente im ursprünglichen Array mit Indizes, die größer oder gleich sind Länge wird Alle Werte gehen verloren. Das folgende Beispiel zeigt die Änderung des Längenattributs:
Code
var arr=[12,23,5,3,25,98,76,54,56,76]; //定义了一个包含10个数字的数组 alert(arr.length); //显示数组的长度10 arr.length=12; //增大数组的长度 alert(arr.length); //显示数组的长度已经变为12 alert(arr[8]); //显示第9个元素的值,为56 arr.length=5; //将数组的长度减少到5,索引等于或超过5的元素被丢弃 alert(arr[8]); //显示第9个元素已经变为"undefined" arr.length=10; //将数组长度恢复为10 alert(arr[8]); //虽然长度被恢复为10,但第9个元素却无法收回,显示"undefined"
Aus dem obigen Code können wir die Natur des Längenattributs deutlich erkennen. Das Längenobjekt kann jedoch nicht nur explizit festgelegt, sondern auch implizit geändert werden. Sie können in JavaScript auch eine nicht deklarierte Variable verwenden (die sich auf ein Element mit einem Index bezieht, der größer oder gleich der Länge ist). In diesem Fall wird der Wert des Längenattributs auf festgelegt Wert des Index des verwendeten Elements. Zum Beispiel der folgende Code:
var arr=[12,23,5,3,25,98,76,54,56,76]; alert(arr.length); arr[15]=34; alert(arr.length);
Der Code definiert außerdem zunächst ein Array mit 10 Zahlen. Aus der Alert-Anweisung geht hervor, dass seine Länge 10 beträgt. Dann wird das Element mit dem Index 15 verwendet und ihm der Wert 15 zugewiesen, d. h. arr[15]=34. Zu diesem Zeitpunkt wird die Alert-Anweisung verwendet, um die Länge des Arrays auszugeben, und das Ergebnis ist 16. Unabhängig davon ist dies eine überraschende Funktion für Entwickler, die an stark typisierte Programmierung gewöhnt sind. Tatsächlich beträgt die Anfangslänge eines mit new Array() erstellten Arrays 0. Es ist die Operation undefinierter Elemente, die dazu führt, dass sich die Länge des Arrays ändert.
Wie Sie der obigen Einführung entnehmen können, ist das Längenattribut so magisch, dass Sie es verwenden können, um die Kapazität eines Arrays einfach zu erhöhen oder zu verringern. Daher hilft ein tiefes Verständnis des Längenattributs, es während des Entwicklungsprozesses flexibel zu nutzen.
2. Prototypattribut
Gibt einen Verweis auf den Prototyp des Objekttyps zurück. Die Prototypeigenschaft ist für das Objekt üblich.
objectName.prototype
Der Parameter objectName ist der Name des Objektobjekts.
Beschreibung:
Verwenden Sie die Eigenschaft „prototyp“, um eine Grundfunktionalität für die Klasse eines Objekts bereitzustellen. Neue Instanzen eines Objekts „erben“ die dem Prototyp des Objekts zugewiesenen Operationen.
Für Array-Objekte veranschaulicht das folgende Beispiel die Verwendung des Prototyp-Attributs.
Fügen Sie dem Array-Objekt eine Methode hinzu, die den maximalen Elementwert im Array zurückgibt. Um dies zu erreichen, deklarieren Sie eine Funktion, fügen Sie sie zu Array.prototype hinzu und verwenden Sie sie.
Code
function array_max() { var i, max = this[0]; for (i = 1; i < this.length; i++) { if (max < this[i]) max = this[i]; } return max; } Array.prototype.max = array_max; var x = new Array(1, 2, 3, 4, 5, 6); var y = x.max();
Une fois ce code exécuté, y contient la valeur maximale dans le tableau x, ou disons 6.
3. Attribut constructeur
représente une fonction qui crée un objet.
object.constructor //object est le nom de l'objet ou de la fonction.
Description : la propriété constructeur est membre de tous les objets avec prototype. Ils incluent tous les objets natifs JScript à l'exception des objets Global et Math. La propriété constructor contient une référence à la fonction qui construit une instance d'objet spécifique.
Par exemple :
x = new String("Bonjour");
if (x.constructor == String) // Processus (la condition est vraie).
ou
fonction MyFunc {
// Corps de la fonction.
>
y = nouveau MyFunc;
if (y.constructor == MyFunc) // Processus (la condition est vraie).
Pour les tableaux :
y = nouveau tableau();