English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ein Array in JavaScript ist ein globales Objekt, das verwendet wird, um mehrere Werte in einer Variable zu speichern.
Ein Array kann jeden Datentyp enthalten, einschließlich Strings, Zahlen, Objekten, Funktionen und sogar anderen Arrays.
Angenommen, Sie möchten den Namen einer Stadt in JavaScript-Code speichern. Das Speichern der Stadtname in Variablen könnte so aussehen:
let city1 = "New Delhi"; let city2 = "Mumbai"; let city3 = "Jaipur";
Aber wenn Sie den Namen einer Stadt eines Landes in einer Variable speichern müssen, könnte dies nicht nur drei, sondern möglicherweise einhundert sein.
同时使用这么多变量并跟踪所有变量将是非常困难的任务。
数组通过提供用于在单个变量中存储多个值或一组值的有序结构来解决此问题。
有两种方法可以在JavaScript中创建数组:
字面量-隐式创建,其使用方括号:[]
简洁方式-直接示例化,采用new关键字
让我们演示如何使用初始化的数组常量创建fruits数组[]:
let fruits = ["Apple", "Mango", "Banana", "Orange"];Testen sehen‹/›
声明可以跨越多行:
let fruits = [ "Apple", "Mango", "Banana", "Orange" ];Testen sehen‹/›
现在这是使用数组构造函数创建的相同数据,该数据用初始化new Array():
let fruits = new Array("Apple", "Mango", "Banana", "Orange");Testen sehen‹/›
这两种方法都会创建一个数组。但是,字面量-隐式创建(方括号[])方法更为常见和首选,因为new Array()构造函数方法可能会出现不一致和意外的结果。
数组没有名称/值对。而是使用从0开始的整数值对它们进行索引。
这是赋值给fruits的示例数组:
let fruits = ["Apple", "Mango", "Banana", "Orange"];
这是fruits数组中每个元素的索引方式的分解:
0 | 1 | 2 | 3 |
---|---|---|---|
Apple | Mango | Banana | Orange |
数组中的第一个元素是“ Apple”,索引值为0。
最后一个元素是“Orange”,索引值为3。
通过引用方括号中的元素的索引号,可以访问JavaScript数组中的元素。
let fruits = ["Apple", "Mango", "Banana", "Orange"]; fruits[0];// 返回 "Apple" fruits[2];// 返回 "Banana"Testen sehen‹/›
JavaScript数组的索引为零:数组的第一个元素的索引为0,第二个元素的索引为1,依此类推。
尝试访问数组中不存在的元素,将返回undefined。
fruits[7];// 返回 undefinedTesten sehen‹/›
可以通过引用阵列名称来访问整个阵列。
let fruits = ["Apple", "Mango", "Banana", "Orange"]; document.getElementById("result").innerHTML = fruits;Testen sehen‹/›
我们可以使用该length属性找出数组中有多少个元素。
let fruits = ["Apple", "Mango", "Banana", "Orange"]; fruits.length; // Rückgabewert 4Testen sehen‹/›
最后一个元素的索引等于数组的length属性值减去1。
此示例使用length属性显示最后一个元素的值:
let fruits = ["Apple", "Mango", "Banana", "Orange"]; let lastIndex = fruits.length - 1; fruits[lastIndex];Testen sehen‹/›
In der Variablen fruits haben wir vier Elemente, einschließlich von 0 bis3Index. Wenn Sie ein neues Element zum Array hinzufügen möchten, können Sie einen Wert für den nächsten Index zuweisen.
let fruits = ["Apple", "Mango", "Banana", "Orange"]; fruits[4] = "Guava";Testen sehen‹/›
Wenn wir ein Element hinzufügen und versehentlich einen Index überspringen, wird im Array ein Element mit leerem Wert ('') erstellt.
fruits[6] = "Strawberry";Testen sehen‹/›
Verwendenpush()Methode, um ähnliche Probleme zu vermeiden, fügt einen Element am Ende des Arrays hinzu.
let fruits = ["Apple", "Mango", "Banana", "Orange"]; fruits.push("Strawberry");Testen sehen‹/›
auchlengthEigenschaft, um ein neues Element zum Array hinzuzufügen.
let fruits = ["Apple", "Mango", "Banana", "Orange"]; fruits[fruits.length] = "Beer";Testen sehen‹/›
Durch die Verwendung des Zuweisungsoperators können wir jeden Wert im Array ersetzen.
let fruits = ["Apple", "Mango", "Banana", "Orange"]; fruits[0] = "Monkey";Testen sehen‹/›
Arrays werden normalerweise verwendet, um Listen mit ähnlichen Datentypen zusammenzuführen, aber technisch können sie jeden Wert oder eine Mischung aus Werten enthalten.
let myArray = [5, 22, "Arrow", "Bone", true, new Date()];Testen sehen‹/›
Wir könnenforundlengthEigenschaft, um das gesamte Array zu durchlaufen.
In diesem Beispiel erstellen wir ein Obst-Array und drucken jeden Index sowie jeden Wert in das Dokument aus:
let fruits = ["Apple", "Mango", "Banana", "Orange"]; let txt = ""; //Die Länge des Arrays durchlaufen for (let i = 0; i < fruits.length; i++) { txt += i + " = " + fruits[i] + "<br>"; }Testen sehen‹/›
Wir können auch folgende verwendenArray.forEach()Methode:
let fruits = ["Apple", "Mango", "Banana", "Orange"]; let result = document.getElementById("result"); fruits.forEach(function(element) { result.innerHTML += element + "<br>"; });Testen sehen‹/›
Wir können auchfor...ofDer Loop, um das js-Array zu durchlaufen, ist eine neue Funktion in JavaScript:
let fruits = ["Apple", "Mango", "Banana", "Orange"]; let result = document.getElementById("result"); for (let x of fruits) { result.innerHTML += x; }Testen sehen‹/›
for...ofDer Loop durchsucht nicht die Indexnummern der Elemente im Array, ist aber in der Regel eine einfachere und kürzere Methode, um ein Array zu durchlaufen.
Mehrdimensionale Arrays sind Arrays, die eine oder mehrere Arrays enthalten.
let points = [ [35, 28, 29, 31], [33, 24, 25, 29] ];
JavaScript kann Arrays mit einer Tiefe von2,3,4,5Or mehrstufige mehrdimensionale Arrays. Aber für die meisten Menschen ist es schwierig, Arrays über drei Ebenen zu verwalten.
Die Dimensionen des Arrays geben an, wie viele Indizes erforderlich sind, um ein Element auszuwählen:
Für zweidimensionale Arrays benötigen Sie zwei Indizes, um ein Element auszuwählen
Für dreidimensionale Arrays benötigen Sie drei Indizes, um ein Element auszuwählen
Ein zweidimensionales Array kann als Tabelle betrachtet werden, bei der das erste [ ] die Zeilen und das zweite [ ] die Spalten sind.
points[0][1]; // Rückgabewert 28 points[1][0]; // Rückgabewert 33Testen sehen‹/›
In diesem Beispiel erstellen wir ein zweidimensionales Array und geben jeden Index sowie jeden Wert in das Dokument aus:
let points = [[35, 28, 29, 31], [33, 24, 25, 29]; let row; let col; for (row = 0; row < 2; row++) { for (col = 0; col < 4; col++) { document.write(row, col, points[row][col]); } }Testen sehen‹/›
Natürlich können Sie auchlengthEigenschaft zur Abfrage der Größe von Zeilen und Spalten:
let points = [ [10, 12, 14, 16, 18], [20, 22, 24, 26], [30, 32, 34], [32, 34] ]; points.length;// Rückgabewert 4 (Gesamtzeilen) points[0].length;// Rückgabewert 5 points[1].length;// Rückgabewert 4 points[2].length;// Rückgabewert 3 points[3].length;// Rückgabewert 2Testen sehen‹/›
In den meisten Fällen2Dimensionen eines Arrays sind ausreichend, obwohl einige Orte3维数组
In JavaScript ist ein Array ein spezieller Objekttyp.
Der Operator typeof in JavaScript gibt für Arrays den Wert „Object“ zurück.
let fruits = ["Apple", "Mango", "Banana", "Orange"]; typeof fruits; // Rückgabewert „object“Testen sehen‹/›
Es ist nicht erforderlich, den Array-Konstruktor new Array() zu verwenden.
Gegenteilig sollte versucht werden, Arrays durch implizite Erstellung zu erstellen, d.h. direkt durch das Array-Brackets-Verfahren, was häufiger und beliebter ist.
Mit zwei verschiedenen Anweisungen wird ein neues leeres Array namens scores erstellt:
let scores = new Array(); // Diese Methode wird nicht empfohlen let scores = []; // Empfohlene Methode
Mit zwei verschiedenen Anweisungen wird ein Array erstellt, das enthält5Ein neues Array mit einer Anzahl von Zahlen zu erstellen:
let scores = new Array(2, 5, 10, 28, 10); // Diese Methode wird nicht empfohlen let scores = [2, 5, 10, 28, 10]; // Empfohlene MethodeTesten sehen‹/›
Die Methode new Array() kann inkonsistente Ergebnisse liefern und unerwartete Ergebnisse erzeugen:
let scores = new Array(10, 25); // Erstellen eines Arrays, das zwei Elemente enthält(10und25) als Array let scores = new Array(10); // Erstellen eines Arrays, das enthält10Ein Array mit uninitialisierten ElementwertenTesten sehen‹/›
Wie Sie wissen, gibt der JavaScript-Operator typeof für Arrays den Wert „Object“ zurück.
Ein häufiges Problem ist:Wie kann man erkennen, ob eine Variable ein Array ist?
Um dieses Problem zu lösen, ECMAScript 5definiert eine neue MethodeArray.isArray():
let fruits = ["Apple", "Mango", "Banana", "Orange"]; Array.isArray(fruits);Testen sehen‹/›
Wenn ein Objekt vom angegebenen Konstruktor erstellt wurde, kann der Operator instanceof ebenfalls true zurückgeben:
let fruits = ["Apple", "Mango", "Banana", "Orange"]; if (fruits instanceof Array) { // Anweisungen zum Ausführen }Testen sehen‹/›
In den folgenden Beispielen übergeben wir das Array an die Funktion:
let fruits = ["Apple", "Mango", "Banana", "Orange"]; myFunc(fruits); function myFunc(arg) { for (let elem of arg) { document.write(elem, "<br>); } }Testen sehen‹/›
In den folgenden Beispielen werden wir ein Array von der Funktion zurückgeben:
function myFunc() { let fruits = ["Apple", "Mango", "Banana", "Orange"]; return fruits; } let myArray = myFunc(); document.write(myArray);Testen sehen‹/›