javascript / expert
Snippet
Benutzerdefiniertes Array-Chunking über das Iterator-Protokoll
Implementiert das ECMAScript-Iterable-Protokoll (Symbol.iterator) mittels Generator-Methoden zur faulen Unterteilung großer Arrays ohne anfängliche Speicherduplizierung.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
export class ChunkedIterable {constructor(array, chunkSize) {this.array = array;this.chunkSize = chunkSize;}*[Symbol.iterator]() {for (let i = 0; i < this.array.length; i += this.chunkSize) {yield this.array.slice(i, i + this.chunkSize);}}}export function processBatch(dataset, size) {const batcher = new ChunkedIterable(dataset, size);return Array.from(batcher);}
nextjs
Erklärung
1
*[Symbol.iterator]() {
Definiert den ES-Iterable-Standardvertrag unter Verwendung einer Generator-Methodensignatur mit Sternchen.
2
yield this.array.slice(i, i + this.chunkSize);
Gibt Array-Ausschnitte bei Bedarf während der iterativen Enumeration nach und nach zurück.
3
return Array.from(batcher);
Konsumiert das benutzerdefinierte Iterable-Objekt mittels Array.from zur Erstellung verschachtelter Sub-Arrays.