JS-Tutorial

JS-HAUS JS-Einführung JS Wohin JS-Ausgabe JS-Anweisungen JS-Syntax JS-Kommentare JS-Variablen JS Let JS Konst JS-Operatoren JS-Arithmetik JS-Aufgabe JS-Datentypen JS-Funktionen JS-Objekte JS-Ereignisse JS-Strings JS-String-Methoden Suche nach JS-Strings JS-String-Vorlagen JS-Nummern JS-Zahlenmethoden JS-Arrays JS-Array-Methoden JS-Array-Sortierung JS-Array-Iteration JS-Array-Konstante JS-Daten JS-Datumsformate JS Date Get-Methoden JS-Datumssatzmethoden JS Math JS Zufällig JS Boolesche Werte JS-Vergleiche JS-Bedingungen JS-Schalter JS-Schleife für JS-Schleife für In JS-Schleife für Of JS-Schleife While JS Pause JS-Iterables JS-Sets JS-Karten JS Typeof JS-Typkonvertierung JS Bitweise JS RegExp JS-Fehler JS-Bereich JS Heben Strenger JS-Modus JS dieses Schlüsselwort JS-Pfeilfunktion JS-Klassen JS JSON JS-Debugging JS-Styleguide JS Best Practices JS-Fehler JS-Leistung JS Reservierte Wörter

JS-Versionen

JS-Versionen JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS-Geschichte

JS-Objekte

Objektdefinitionen Objekteigenschaften Objektmethoden Objektanzeige Objektzugriffsmethoden Objektkonstruktoren Objekt-Prototypen Objekt-Iterables Objektsätze Objektkarten Objektreferenz

JS-Funktionen

Funktionsdefinitionen Funktionsparameter Funktionsaufruf Funktionsaufruf Funktion anwenden Funktionsschließungen

JS-Klassen

Klasse Einführung Klassenvererbung Klasse statisch

JS asynchron

JS-Rückrufe JS asynchron JS verspricht JS Async/Warten

JS-HTML-DOM

DOM-Einführung DOM-Methoden DOM-Dokument DOM-Elemente DOM-HTML DOM-Formulare DOM-CSS DOM-Animationen DOM-Ereignisse DOM-Ereignis-Listener DOM-Navigation DOM-Knoten DOM-Sammlungen DOM-Knotenlisten

Stückliste des JS-Browsers

JS-Fenster JS-Bildschirm JS-Standort JS-Geschichte JS-Navigator JS-Popup-Warnung JS-Timing JS-Cookies

JS-Web-APIs

Web-API-Einführung Web Forms-API Webprotokoll-API Webspeicher-API Web Worker-API Web-Fetch-API Web-Geolocation-API

JS AJAX

AJAX-Einführung AJAX-XMLHttp AJAX-Anfrage AJAX-Antwort AJAX-XML-Datei AJAX-PHP AJAX ASP AJAX-Datenbank AJAX-Anwendungen AJAX-Beispiele

JS JSON

JSON-Einführung JSON-Syntax JSON vs. XML JSON-Datentypen JSON-Parsing JSON-Stringify JSON-Objekte JSON-Arrays JSON-Server JSON-PHP JSON-HTML JSON JSONP

JS vs. jQuery

jQuery-Selektoren jQuery-HTML jQuery-CSS jQuery-DOM

JS-Grafik

JS-Grafik JS-Leinwand JS Plotly JS Chart.js JS Google-Diagramm JS D3.js

JS-Beispiele

JS-Beispiele JS-HTML-DOM JS-HTML-Eingabe JS-HTML-Objekte JS-HTML-Ereignisse JS-Browser JS-Editor JS-Übungen JS-Quiz JS-Zertifikat

JS-Referenzen

JavaScript-Objekte HTML-DOM-Objekte


JavaScript -Arrays

Ein Array ist eine spezielle Variable, die mehr als einen Wert enthalten kann:

const cars = ["Saab", "Volvo", "BMW"];

Warum ein Array verwenden?

Wenn Sie eine Liste von Elementen haben (z. B. eine Liste mit Autonamen), könnte das Speichern der Autos in einzelnen Variablen wie folgt aussehen:

let car1 = "Saab";
let car2 = "Volvo";
let car3 = "BMW";

Was aber, wenn Sie die Autos durchgehen und ein bestimmtes finden möchten? Und was wäre, wenn Sie nicht 3 Autos, sondern 300 hätten?

Die Lösung ist ein Array!

Ein Array kann viele Werte unter einem einzigen Namen enthalten, und Sie können auf die Werte zugreifen, indem Sie auf eine Indexnummer verweisen.


Erstellen eines Arrays

Die Verwendung eines Array-Literals ist die einfachste Möglichkeit, ein JavaScript-Array zu erstellen.

Syntax:

const array_name = [item1, item2, ...];      

Es ist üblich, Arrays mit dem Schlüsselwort const zu deklarieren.

Erfahren Sie mehr über const mit Arrays im Kapitel: JS Array Const .

Beispiel

const cars = ["Saab", "Volvo", "BMW"];

Leerzeichen und Zeilenumbrüche sind nicht wichtig. Eine Deklaration kann mehrere Zeilen umfassen:

Beispiel

const cars = [
  "Saab",
  "Volvo",
  "BMW"
];

Sie können auch ein Array erstellen und dann die Elemente bereitstellen:

Beispiel

const cars = [];
cars[0]= "Saab";
cars[1]= "Volvo";
cars[2]= "BMW";

Verwenden des JavaScript-Schlüsselworts new

Das folgende Beispiel erstellt ebenfalls ein Array und weist ihm Werte zu:

Beispiel

const cars = new Array("Saab", "Volvo", "BMW");

Die beiden obigen Beispiele machen genau dasselbe.

Es besteht keine Notwendigkeit zu verwenden new Array().

Verwenden Sie aus Gründen der Einfachheit, Lesbarkeit und Ausführungsgeschwindigkeit die Array-Literal-Methode.



Zugriff auf Array-Elemente

Sie greifen auf ein Array-Element zu, indem Sie sich auf die Indexnummer beziehen :

const cars = ["Saab", "Volvo", "BMW"];
let car = cars[0];

Hinweis: Array-Indizes beginnen mit 0.

[0] ist das erste Element. [1] ist das zweite Element.


Ändern eines Array-Elements

Diese Anweisung ändert den Wert des ersten Elements in cars:

cars[0] = "Opel";

Beispiel

const cars = ["Saab", "Volvo", "BMW"];
cars[0] = "Opel";

Greifen Sie auf das vollständige Array zu

Mit JavaScript kann auf das vollständige Array zugegriffen werden, indem auf den Array-Namen verwiesen wird:

Beispiel

const cars = ["Saab", "Volvo", "BMW"];
document.getElementById("demo").innerHTML = cars;

Arrays sind Objekte

Arrays sind eine spezielle Art von Objekten. Der typeofOperator in JavaScript gibt "object" für Arrays zurück.

JavaScript-Arrays lassen sich jedoch am besten als Arrays beschreiben.

Arrays verwenden Zahlen , um auf ihre "Elemente" zuzugreifen. In diesem Beispiel person[0] gibt John Folgendes zurück:

Anordnung:

const person = ["John", "Doe", 46];

Objekte verwenden Namen , um auf ihre "Mitglieder" zuzugreifen. In diesem Beispiel person.firstName gibt John Folgendes zurück:

Objekt:

const person = {firstName:"John", lastName:"Doe", age:46};

Array-Elemente können Objekte sein

JavaScript-Variablen können Objekte sein. Arrays sind spezielle Arten von Objekten.

Aus diesem Grund können Sie Variablen unterschiedlichen Typs im selben Array haben.

Sie können Objekte in einem Array haben. Sie können Funktionen in einem Array haben. Sie können Arrays in einem Array haben:

myArray[0] = Date.now;
myArray[1] = myFunction;
myArray[2] = myCars;

Array-Eigenschaften und Methoden

Die wahre Stärke von JavaScript-Arrays sind die integrierten Array-Eigenschaften und -Methoden:

cars.length   // Returns the number of elements
cars.sort()   // Sorts the array

Array-Methoden werden in den nächsten Kapiteln behandelt.


Die length-Eigenschaft

Die lengthEigenschaft eines Arrays gibt die Länge eines Arrays zurück (die Anzahl der Array-Elemente).

Beispiel

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let length = fruits.length;

Die lengthEigenschaft ist immer um eins größer als der höchste Array-Index.


Zugriff auf das erste Array-Element

Beispiel

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[0];

Zugriff auf das letzte Array-Element

Beispiel

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[fruits.length - 1];

Schleifen von Array-Elementen

Eine Möglichkeit, ein Array zu durchlaufen, ist die Verwendung einer forSchleife:

Beispiel

const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fLen = fruits.length;

let text = "<ul>";
for (let i = 0; i < fLen; i++) {
  text += "<li>" + fruits[i] + "</li>";
}
text += "</ul>";

Sie können auch die Array.forEach()Funktion verwenden:

Beispiel

const fruits = ["Banana", "Orange", "Apple", "Mango"];

let text = "<ul>";
fruits.forEach(myFunction);
text += "</ul>";

function myFunction(value) {
  text += "<li>" + value + "</li>";
}

Hinzufügen von Array-Elementen

Der einfachste Weg, ein neues Element zu einem Array hinzuzufügen, ist die Verwendung der push()Methode:

Beispiel

const fruits = ["Banana", "Orange", "Apple"];
fruits.push("Lemon");  // Adds a new element (Lemon) to fruits

Ein neues Element kann auch mit der lengthEigenschaft zu einem Array hinzugefügt werden:

Beispiel

const fruits = ["Banana", "Orange", "Apple"];
fruits[fruits.length] = "Lemon";  // Adds "Lemon" to fruits

WARNUNG !

Das Hinzufügen von Elementen mit hohen Indizes kann undefinierte "Löcher" in einem Array erzeugen:

Beispiel

const fruits = ["Banana", "Orange", "Apple"];
fruits[6] = "Lemon";  // Creates undefined "holes" in fruits

Assoziative Arrays

Viele Programmiersprachen unterstützen Arrays mit benannten Indizes.

Arrays mit benannten Indizes werden als assoziative Arrays (oder Hashes) bezeichnet.

JavaScript unterstützt keine Arrays mit benannten Indizes.

In JavaScript verwenden Arrays immer nummerierte Indizes .  

Beispiel

const person = [];
person[0] = "John";
person[1] = "Doe";
person[2] = 46;
person.length;    // Will return 3
person[0];        // Will return "John"

WARNUNG !!
Wenn Sie benannte Indizes verwenden, definiert JavaScript das Array in ein Objekt um.

Danach werden einige Array-Methoden und -Eigenschaften falsche Ergebnisse liefern .

 Beispiel:

const person = [];
person["firstName"] = "John";
person["lastName"] = "Doe";
person["age"] = 46;
person.length;     // Will return 0
person[0];         // Will return undefined

Der Unterschied zwischen Arrays und Objekten

In JavaScript verwenden Arrays nummerierte Indizes .  

In JavaScript verwenden Objekte benannte Indizes .

Arrays sind eine besondere Art von Objekten mit nummerierten Indizes.


Wann man Arrays verwendet. Wann man Objekte verwendet.

  • JavaScript unterstützt keine assoziativen Arrays.
  • Sie sollten Objekte verwenden, wenn die Elementnamen Zeichenfolgen (Text) sein sollen .
  • Sie sollten Arrays verwenden, wenn die Elementnamen Zahlen sein sollen .

JavaScript neues Array()

JavaScript hat einen eingebauten Array-Konstruktor new Array().

Aber Sie können []stattdessen sicher verwenden.

Diese beiden unterschiedlichen Anweisungen erstellen beide ein neues leeres Array mit dem Namen points:

const points = new Array();
const points = [];

Diese beiden unterschiedlichen Anweisungen erstellen beide ein neues Array mit 6 Zahlen:

const points = new Array(40, 100, 1, 5, 25, 10);
const points = [40, 100, 1, 5, 25, 10];

Das newSchlüsselwort kann zu unerwarteten Ergebnissen führen:

// Create an array with three elements:
const points = new Array(40, 100, 1);
// Create an array with two elements:
const points = new Array(40, 100);
// Create an array with one element ???
const points = new Array(40);  

Ein häufiger Fehler

const points = [40];

ist nicht dasselbe wie:

const points = new Array(40);
// Create an array with one element:
const points = [40];
// Create an array with 40 undefined elements:
const points = new Array(40);  

So erkennen Sie ein Array

Eine häufig gestellte Frage ist: Woher weiß ich, ob eine Variable ein Array ist?

The problem is that the JavaScript operator typeof returns "object":

const fruits = ["Banana", "Orange", "Apple"];
let type = typeof fruits;

The typeof operator returns object because a JavaScript array is an object.

Solution 1:

To solve this problem ECMAScript 5 (JavaScript 2009) defined a new method Array.isArray():

Array.isArray(fruits);

Solution 2:

The instanceof operator returns true if an object is created by a given constructor:

const fruits = ["Banana", "Orange", "Apple"];

fruits instanceof Array;

Complete Array Reference

For a complete Array reference, go to our:

Complete JavaScript Array Reference.

The reference contains descriptions and examples of all Array properties and methods.

Test Yourself With Exercises

Exercise:

Get the value "Volvo" from the cars array.

const cars = ["Saab", "Volvo", "BMW"];
let x = ;