Array shift / unshift

shift () und unshift () funktionieren äquivalent zu push und pop, wobei shift() ein Element am Anfang des Arrays entfernt (pop() hingegen am Ende), unshift() ein oder mehrere Elemente am Ende des Arrays anhängt (push hingegen am Anfang).

18-12-15 SITEMAP CSS HTML JS Basis JS Web Tutorial SVG

array.shift ()

array.shift () entfernt das erste Element des Arrays und läßt die folgenden Elemente um einen Index nach vorn rutschen (shift). shift hat keine Parameter – kann also nur das erste Element entfernen.

shift unshift: vorn einfügen, vorn entfernen
shift/unshift ist ein Äquivalent zu push/pop, nur einfügen bzw. entfernen am Anfang des Arrays

Die übrigen Elemente des Arrays werden nach links verschoben und shift setzt die Länge des Arrays um 1 herunter.

const arr = ["🌹", "🍆", "🍋", "🍑", "🌽"];
let rose = arr.shift();

Das erste Element geht an den Rückgabewert und fällt dabei aus dem Array heraus. Wenn das erste Element des Arrays selbst ein Array ist, gibt shift () das komplette Array zurück.

const colors = [["Zitronengelb", "Scharlachrot", "Himmelblau"], "Grau", "Grün", "Blau"];
const elem = colors.shift();
console.log (`colors ${colors}`);
console.log (`elem ${elem}`);
console.log (`length ${colors.length}`);

var elem = colors.shift() weist den Wert des ersten Elements der Variablen elem zu und entfernt es aus dem Array colors.

[Log]  colors   Grau,Grün,Blau 
[Log]  elem     Zitronengelb,Scharlachrot,Himmelblau 
[Log]  length   3 

var elem = colors.shift(); weist den Wert des ersten Elements der Variablen elem zu und entfernt das erste Element aus dem Array colors.

array.unshift ()

unshift () funktioniert wie array.push(), aber beginnt am Anfang des Arrays. array.unshift () fügt ein oder mehrere Elemente am Anfang des Arrays ein.

Übergibt der Aufruf unshift() mehrere Argumente, werden die Element von rechts nach links am Ende des Arrays eingefügt.

const cars = ["Opel", "Ford", "Fiat"];
const newcars = cars.unshift("Renault", "Peugeot");
console.log (`cars  ${cars}`);
console.log (`length ${cars.length}`);
[Log]  cars Renault,Peugeot,Opel,Ford,Fiat 
[Log]  cars.length 5 

shift / unshift vs pop / push

push bzw. pop sind sind schnelle Methoden, shift bzw. unshift sind langsamer. Kann man sich gut vorstellen, denn wenn Elemente am Ende des Arrays hinzugefügt oder gelöscht werden, bleiben die Originalelemente des Arrays das unberührt. Bei shift und unshift werden Elemente am Anfang des Arrays entfernt oder hinzugefügt. Die Indizes der folgenden Elemente müssen geändert werden.

Array-Elemente löschen und einfügen

Es gibt keine direkte Methode wie delete oder remove, um Elemente eines Arrays gezielt an einer speziellen Stelle einzufügen oder zu löschen. Um ein Element irgendwo zwischen Anfang und Ende zu entfernen, bietet Javascript den Umweg über das komplizierte array.slice(). Und dann gibt es auch noch das relativ moderne array.filter(), das ein neues Array ohne die unerwünschten Elemente anhand einer Callback-Funktion erzeugt.