edubun
Deutsch

Arrays

Ein Array speichert viele Werte geordnet unter einem Namen. In ["red", "green", "blue"] steht "red" an Index 0, und die Länge ist 3.

Eine Liste in einer Variablen

Angenommen, ein Programm verwaltet die Punktzahlen einer ganzen Klasse. Dreißig Variablen namens score1, score2, score3 wären eine Qual, und durchlaufen könnte man sie mit einer Schleife auch nicht. Ein Array ist ein einzelner Wert, der eine geordnete Liste anderer Werte enthält. Du schreibst es mit eckigen Klammern und Kommas:

const fruits = ["apple", "banana", "cherry"];
console.log(fruits.length);   // 3
console.log(fruits[0]);       // apple
console.log(fruits[2]);       // cherry

Jeder Wert in einem Array ist ein Element. Elemente sind nach Index nummeriert, ab 0, genau wie die Zeichen in einem String. Das erste Element ist also fruits[0] und das letzte fruits[fruits.length - 1]. Fragst du nach einem Index, den es nicht gibt, etwa fruits[10], gibt es keinen Fehler, sondern undefined. Ein Array kann jede Art von Wert enthalten, und die Elemente müssen nicht einmal denselben Typ haben, auch wenn sie das in der Praxis meist tun.

Ein Array ändern

Anders als Strings lassen sich Arrays an Ort und Stelle ändern. Weise einem Index etwas zu, um ein Element zu ersetzen: fruits[1] = "blueberry". Die Methode push hängt ein Element ans Ende an, und pop entfernt das letzte und gibt es zurück. unshift und shift machen dasselbe am Anfang. Das klappt sogar, wenn das Array mit const deklariert wurde. const verhindert nur, dass der Name auf ein anderes Array zeigt. Den Inhalt friert es nicht ein.

const list = ["milk", "eggs"];
list.push("bread");
console.log(list.length);        // 3
const last = list.pop();
console.log(last);               // bread
console.log(list.join(", "));    // milk, eggs

Zwei weitere Methoden beantworten Fragen. includes(x) ergibt true, wenn x im Array ist, und indexOf(x) ergibt seinen Index oder -1, wenn es fehlt. join(", ") klebt alle Elemente zu einem String zusammen, mit dem angegebenen Trennzeichen dazwischen. So gibst du eine Liste am einfachsten ordentlich aus.

Ein Array durchlaufen

Arrays und Schleifen gehören zusammen. Eine for-Schleife mit einem Index von 0 bis ausschließlich zur Länge besucht jedes Element. Die for...of-Schleife ist kürzer, wenn du nur die Werte brauchst, nicht ihre Positionen:

const scores = [70, 85, 90, 55];

for (let i = 0; i < scores.length; i++) {
  console.log(i, scores[i]);
}

let total = 0;
for (const s of scores) {
  total += s;
}
console.log(total / scores.length);   // 75

Achte auf die Bedingung i < scores.length, mit < und nicht <=. Bei vier Elementen laufen die Indizes von 0 bis 3, und mit <= würdest du einen Schritt über das Ende hinaus lesen. Dieser Um-eins-daneben-Fehler (off-by-one) ist einer der häufigsten Fehler beim Programmieren überhaupt.

Zwei Namen, ein Array

Zahlen und Strings werden kopiert, wenn du sie einer anderen Variablen zuweist, Arrays nicht. Nach const a = [1, 2]; const b = a; zeigen beide Namen auf genau dasselbe Array, also ändert b.push(3) auch, was du über a siehst: a.length ist jetzt 3. Brauchst du eine eigene Kopie, schreib const b = [...a];. Das verteilt die Elemente von a in ein brandneues Array. Objekte aus der nächsten Einheit verhalten sich genauso.

Die Übungsboxen auf dieser Website geben Arrays in kompakter Form aus, etwa ["a","b"] oder [1,2,3]. Die Konsole in den Entwicklerwerkzeugen eines Browsers fügt Leerzeichen hinzu und zeigt sie vielleicht anders an. Verwende join, wenn du die Ausgabe genau steuern willst.

Durchgerechnetes Beispiel. Finde die größte Zahl in [4, 17, 9, 12] ohne Math.max. Starte mit let best = nums[0], durchlaufe den Rest, und immer wenn ein Element größer als best ist, speichere es in best. Nach der Schleife ist best 17. Mit derselben Form, einer Variablen, die sich das bisher Beste merkt, findest du das längste Wort, den niedrigsten Preis oder das früheste Datum.

ArrayEine geordnete Liste von Werten in [ ]
ElementEin Wert in einem Array
arr[0]Das erste Element
arr[arr.length - 1]Das letzte Element
push / popAns Ende anhängen / vom Ende entfernen
includestrue, wenn der Wert im Array ist
joinElemente zu einem String zusammenkleben
for...ofDie Werte eines Arrays durchlaufen
Off-by-oneEinen Schritt zu weit oder zu kurz, oft <= statt <
  1. Was gibt das aus?
    const a = [10, 20, 30];
    console.log(a[1]);
  2. Was gibt das aus?
    const a = [10, 20, 30];
    console.log(a.length);
  3. Was gibt das aus?
    const a = ["x", "y", "z"];
    console.log(a[a.length - 1]);
  4. Was gibt das aus?
    const a = [1, 2];
    a.push(3);
    a.push(4);
    console.log(a.length);
  5. Was gibt das aus?
    const a = [5, 6, 7];
    const x = a.pop();
    console.log(x, a.length);
    • 7 2
    • 5 2
    • 7 3
  6. Was gibt das aus?
    const a = ["cat", "dog"];
    console.log(a.indexOf("bird"));
  7. Was gibt das aus?
    const a = ["a", "b", "c"];
    console.log(a.join("-"));
  8. Was gibt das aus?
    const a = [3, 4, 5];
    let t = 0;
    for (const n of a) {
      t += n;
    }
    console.log(t);
  9. Was gibt das aus?
    const a = [1, 2, 3];
    a[0] = 9;
    console.log(a[0] + a[2]);
  10. Was gibt das aus?
    const a = ["red", "green"];
    console.log(typeof a[5]);
    • undefined
    • Ein Fehler
    • string (Zeichenkette)
  11. Welcher Schleifenkopf besucht jeden Index von arr genau einmal?
    • for (let i = 0; i < arr.length; i++)
    • for (let i = 0; i <= arr.length; i++)
    • for (let i = 1; i <= arr.length; i++)
Das Wichtigste
  • Arrays speichern geordnete Werte in [ ]; Indizes beginnen bei 0.
  • Das letzte Element ist arr[arr.length - 1].
  • push und pop fügen am Ende hinzu und entfernen dort; auch const-Arrays können sich innen ändern.
  • includes, indexOf und join beantworten häufige Fragen.
  • Schleife mit i von 0, solange i < length, oder for...of für die Werte.
Quellen zu diesem Kurs (2)
  • MDN Web Docs, JavaScript Guide (developer.mozilla.org/en-US/docs/Web/JavaScript/Guide, chapters Introduction, Grammar and types, Control flow, Loops and iteration, Functions, Expressions and operators, Numbers and strings, Indexed collections, Working with objects; checked 2026-10-17)
  • Ecma International, ECMA-262 ECMAScript 2026 Language Specification, 17th edition, June 2026 (tc39.es/ecma262 and ecma-international.org/publications-and-standards/standards/ecma-262, checked 2026-10-17)

Abgerufen: 2026-10-17