Iterator.concat în JavaScript

Iteratori Nou (Node.js 26, browsere recente)

Leagă mai multe iterabile într-un singur iterator, care le parcurge pe rând.

Sintaxă
Iterator.concat(iterabil1, iterabil2, ...)

Ce face Iterator.concat

Iterator.concat returnează un iterator care dă întâi toate valorile primului iterabil, apoi pe ale celui de-al doilea și așa mai departe. Nu copiază nimic: fiecare sursă este parcursă abia când îi vine rândul.

Este echivalentul leneș al lui [...a, ...b] și merge cu orice combinație de tablouri, Set, Map sau generatoare.

Parametri

Parametru Descriere
iterabil1, iterabil2, ... Sursele, în ordinea în care sunt parcurse.

Ce returnează

Un iterator nou.

Exemple

Exemplul 1: Surse diferite într-o singură parcurgere

const admini = ["Ana"];
const editori = new Set(["Mihai", "Ioana"]);

for (const nume of Iterator.concat(admini, editori, ["Vlad"])) {
  console.log(nume);
}

Rezultat

Ana
Mihai
Ioana
Vlad

Greșeli frecvente

  • Dai un text simplu: Iterator.concat("abc") aruncă TypeError, pentru că primește doar obiecte iterabile. Pune textul într-un tablou sau folosește Iterator.from.

Comenzi înrudite

  • Iterator.from: Transformă orice iterabil sau iterator într-un iterator cu metodele map, filter, take, toArray.
  • ... (spread): Desface un tablou sau un obiect în elementele lui. Folosit pentru copii și combinări.
  • Array.prototype.concat: Returnează un tablou nou format din tabloul inițial urmat de alte tablouri sau valori.