Array.prototype.shift()
Die Methode Array.prototype.shift()
ist das funktionale Gegenstück zu pop()
in JavaScript. Während pop() das letzte Element eines Arrays entfernt, wird mit shift()
das erste Element entfernt und zurückgegeben. Dabei wird das Array direkt verändert (mutiert), und alle nachfolgenden Elemente werden im Index um eins verschoben.
Diese Methode eignet sich besonders für die Umsetzung von FIFO-Strukturen (First In, First Out), z.B. bei Warteschlangen, Eventverarbeitung oder Streaming-Daten.
Die Methode Array.prototype.shift()
entfernt das erste Element eines Arrays und gibt dieses entfernte Element zurück. Die Methode verändert das Array in-place.
Syntax
Array.prototype.shift();
Rückgabewert
Die Methode gibt das entfernte, erste Element des Arrays. Wenn das Array leer ist, gibt die Methode undefined
zurück.
Beispiele
Einfache Verwendung
let colors = ["red", "green", "blue"];
let removedColor = colors.shift();
console.log(colors);
console.log(removedColor);
['green', 'blue']
'red'
Verwendung in einer Warteschlange
Solche Schleifen sind klassisch für die Verarbeitung von Warteschlangen: Was zuerst reinkommt, wird zuerst verarbeitet (FIFO-Prinzip).
const tasks = ['Aufgabe_1', 'Aufgabe_2', 'Aufgabe_3'];
while (tasks.length > 0) {
const next = tasks.shift();
console.log('Verarbeite:', next);
}
Verarbeite: Aufgabe_1
Verarbeite: Aufgabe_2
Verarbeite: Aufgabe_3
Leeres Array
Bei einem leeren Array gibt shift()
undefined zurück und verändert nichts.
const leer = [];
const result = leer.shift();
console.log(result);
console.log(leer);
undefined
[]
Dynamische Verarbeitung von Input-Daten
const inputs = ['Eingabe_1', 'Eingabe_2'];
function processInput() {
const input = inputs.shift();
if (input) {
console.log('Verarbeite:', input);
} else {
console.log('Keine Eingaben mehr');
}
}
processNextInput();
processNextInput();
processNextInput();
Verarbeite: Eingabe_1
Verarbeite: Eingabe_2
Keine Eingaben mehr