JavaScript Fortgeschritten Tag 3: Erweiterte Arrays & Iteratoren

Ziel des Tages

Heute lernst du:

Am Ende kannst du komplexe Datenstrukturen mühelos verarbeiten.

Schritt 1: Erweiterte Array-Methoden

Verwendung von find, some, every:


const numbers = [1, 2, 3, 4, 5];

console.log(numbers.find(n => n > 3)); // 4
console.log(numbers.some(n => n > 4)); // true
console.log(numbers.every(n => n > 0)); // true

Schritt 2: Generatoren

Generatoren geben Werte verzögert zurück:


function* idGenerator() {
  let id = 1;
  while(true) yield id++;
}

const gen = idGenerator();
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2

Schritt 3: Reduce für komplexe Operationen

Verschachtelte Arrays mit reduce flach machen:


const nested = [[1,2], [3,4], [5]];
const flat = nested.reduce((acc, val) => acc.concat(val), []);
console.log(flat); // [1,2,3,4,5]

Übung


function* idGenerator() {
  let id = 1;
  while(true) yield id++;
}

const gen = idGenerator();
console.log(gen.next().value);
console.log(gen.next().value);

Aufgabe

Erledige Folgendes:

Beispiel:


// Generator für gerade Zahlen
function* evenNumbers() {
  let n = 2;
  while(true) yield n, n += 2;
}

const evGen = evenNumbers();
console.log(evGen.next().value); // 2
console.log(evGen.next().value); // 4

// Verschachteltes Array flach machen
const nested = [[1,2],[3,4],[5]];
const flat = nested.reduce((acc, val) => acc.concat(val), []);
console.log(flat); // [1,2,3,4,5]