În specificația ECMAScript 2024, JavaScript a adăugat Iterator Helpers: un set de metode native de transformare directă (precum map, filter, take, drop) care pot fi apelate direct pe orice iterator sau generator, fără a mai fi nevoie să convertești colecția într-un tablou complet prin Array.from() sau spread [...iterator].
Principalul beneficiu este eficiența extremă a memoriei: transformările sunt evaluate leneș (lazy), element cu element, permițând procesarea seturilor masive de date fără a aloca tablouri intermediare temporare în RAM.
Exemplu: Lanț de procesare pe un Set cu Iterator Helpers
// 1. O colecție Map sau Set cu mii de elemente
const numereUnice = new Set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
// 2. Extragem iteratorul folosind noul standard Iterator Helpers
const rezultat = numereUnice.values()
// Dublăm fiecare valoare fără a aloca un tablou intermediar:
.map(n => n * 2)
// Păstrăm doar numerele strict mai mari de 6:
.filter(n => n > 6)
// Sărim peste primele 2 elemente:
.drop(2)
// Preluăm doar următoarele 2 elemente:
.take(2);
// 3. Consumăm rezultatul doar când avem nevoie
for (const val of rezultat) {
console.log(val); // 12, 14
}
// Conversie finală directă în tablou printr-o singură metodă curată:
// const tablouFinal = rezultat.toArray();
Principalele Metode din Iterator Helpers
.map(fn)— Transformă elementele pe măsură ce sunt parcurse..filter(fn)— Filtrează elementele pe flux fără stocare în memorie..take(limit)— Oprește iteratorul după un număr fix de elemente (esențial pe secvențe infinite!)..drop(count)— Ignoră primelecountelemente din flux..toArray()— Convertește iteratorul final într-un tablou JavaScript standard.