studyklar
IProg · Skript 2 · Abschnitt 5

Arrays und Funktionen in JavaScript

Zwei Bausteine, die in fast jedem Script vorkommen: Arrays für Listen von Werten und Funktionen. Bei Funktionen geht JavaScript weiter als Java: Eine Funktion ist ein Wert wie eine Zahl. Rechts stehen Code und Ausgabe. Mit Weiter geht es Schritt für Schritt voran.

Worum es geht

Skript 02 (JavaScript 1), Folien 24 und 25: Arrays, Funktionen. Statt alert (Meldungsfenster) schreiben wir mit console.log in die Konsole des Browsers (Taste F12); der Text ist derselbe.

Die Fragen dieses Abschnitts: Wie legt man in JavaScript eine Liste von Werten an? Und: Was heißt es, dass Funktionen wie Objekte behandelt werden?

So gehen wir vor:

  1. Arrays: anlegen, über den Index lesen, verlängern.
  2. Funktionen als Werte: in einer Variable, als Parameter, als Ergebnis.
  3. Was bei zu wenigen oder zu vielen Argumenten passiert.
  4. Eine kurze Klausurfrage dazu.

Ein Array anlegen

let sorten = ["Erdbeer", "Schoko", "Nuss"];let sorten2 = new Array ("Erdbeer", "Schoko", "Nuss");console.log(sorten.length, sorten2.length);
3 3

Ein Array ist eine Liste von Werten unter einem Namen. Es funktioniert ähnlich wie in Java, braucht aber keinen Typ und keine feste Größe.

Es gibt zwei Schreibweisen: die Werte in eckigen Klammern (Zeile 1) oder mit new Array(…) (Zeile 2). Beide legen dasselbe Array mit drei Werten an. length ist die Anzahl der Werte: bei beiden 3. console.log trennt mehrere Werte in einer Zeile mit einem Leerzeichen.

Zugriff über den Index

console.log("Der erste Wert ist: " + sorten[0]);console.log("Der letzte Wert ist: " + sorten[sorten.length-1]);
Der erste Wert ist: Erdbeer
Der letzte Wert ist: Nuss

Jeder Wert hat eine Nummer, den Index. Gezählt wird ab 0: sorten[0] ist „Erdbeer“.

Der letzte Index ist darum eins kleiner als die Länge. Bei drei Werten ist das 3 − 1 = 2. sorten[sorten.length-1] holt also immer den letzten Wert, egal wie lang das Array ist.

Noch 8 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Abbildung 1Arrays

Listen von Werten

sorten
"Erdbeer"Index 0
"Schoko"Index 1
"Nuss"Index 2
length = 3
let sorten = ["Erdbeer", "Schoko", "Nuss"];let sorten2 = new Array ("Erdbeer", "Schoko", "Nuss");console.log(sorten.length, sorten2.length);console.log("Der erste Wert ist: " + sorten[0]);console.log("Der letzte Wert ist: " + sorten[sorten.length-1]);let neu = sorten.push("Kiwi");console.log(neu);console.log(sorten.length);console.log(sorten[sorten.length-1]);console.log(sorten[7]);
(noch keine Ausgabe)
Legendegerade gemeintCode und Ausgabe.