Der Browser-Speicher localStorage ist nicht verfügbar. Entweder unterstützt dein Browser ihn nicht oder du hast ihn deaktiviert oder er ist voll. Ohne localStorage werden deine Lösungen nicht gespeichert.

Array: shift() und push()

Arrays besitzen eine Reihe von Methoden. Zwei dieser Methoden sind shift und push. Zur Erinnerung: Methoden sind Funktionen, die auf einem Objekt, hier einem Array, ausgeführt werden. Methoden werden mit einem Punkt an das Objekt angehängt. Wie bei Funktionen üblich folgt dem Methodennamen die runden Klammern, ggf. gefüllt mit Parametern. shift hat keine Parameter und verschiebt die Elemente eines Arrays nach links. Das 1te Element wird zum 0ten, das 2te zum 1ten, das 3te zum 2ten, usw. Das 0te Element wird aus dem Array entfernt und zurückgegeben. Nach dem shift hat das Array ein Element weniger.
let sprachen = ['C', 'Java', 'JavaScript'];
let naechsteSprache = sprachen.shift();
Das Array sprachen wird mit 3 Programmiersprachen angelegt. Nach dem shift enthält sprachen nur noch 2 Elemente, nämlich ['Java', 'JavaScript']. Der Wert 'C' ist in der Variablen naechsteSprache gelandet.
Mit der häufig verwendeten Methode push fügt man dem Array ein neues Element hinzu. Das neue Element wird als Parameter übergeben und an das Ende des Arrays gehängt.
let sprachen = [];
sprachen.push('C');
sprachen.push('Java');
sprachen.push('JavaScript');
Hier wird ein leeres Array nacheinander mit den aufgeführten Werten gefüllt. Am Ende erhalten wir das Array ['C', 'Java', 'JavaScript']. Wir hatten gesehen, dass man ein Array auch per Index füllen kann. sprachen[sprachen.length] = 'PHP' ist dasselbe wie sprachen.push('PHP'). Doch schon an der Länge des Codes sieht man, dass die Variante mit push eleganter ist.

Aufgabe

Schreibe eine Funktion rotate, die die Elemente eines Arrays rotiert. Alle Elemente des Arrays sollen um eine Position nach links verschoben werden. Das 0te Element soll ans Ende des Arrays gestellt werden. Das rotierte Array soll zurückgegeben werden.

Beispiel: rotate(['a', 'b', 'c']) sollte ['b', 'c', 'a'] ergeben.
Entferne mit shift das 0te Element. Füge mit push das 0te Element wieder hinzu.
function rotate(anArray) {
  let element0 = anArray.shift();
  anArray.push(element0);
  return anArray;
}

loving