Einführung
In diesem Lab werden wir das Konzept des Aufteilens eines Iterierbaren in kleinere Arrays einer bestimmten Größe mit JavaScript erkunden. Wir werden eine Funktion implementieren, die ein Iterierbares und einen Größenparameter annimmt und ein Iterierbares von kleineren Arrays zurückgibt, die jeweils maximal die angegebene Anzahl von Elementen enthalten. Diese Technik kann für verschiedene Anwendungen nützlich sein, beispielsweise zum Aufteilen großer Datensätze in kleinere Blöcke für die Verarbeitung oder zur Optimierung von Netzwerkanfragen, indem die Menge an einmal übertragenen Daten reduziert wird.
Iterierbares in Blöcke unterteilen
Um ein Iterierbares in kleinere Arrays einer bestimmten Größe zu unterteilen, folgen Sie diesen Schritten:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen. - Verwenden Sie eine
for...of-Schleife über das gegebene Iterierbare und verwenden SieArray.prototype.push(), um jedes neue Element der aktuellenchunkhinzuzufügen. - Überprüfen Sie, ob die aktuelle
chunkdie gewünschteGrößehat, indem SieArray.prototype.lengthverwenden, und geben Sie den Wert zurück, wenn dies der Fall ist. - Überprüfen Sie die letzte
chunkmitArray.prototype.lengthund geben Sie sie zurück, wenn sie nicht leer ist. - Verwenden Sie folgenden Code:
const chunkify = function* (itr, size) {
let chunk = [];
for (const v of itr) {
chunk.push(v);
if (chunk.length === size) {
yield chunk;
chunk = [];
}
}
if (chunk.length) yield chunk;
};
- Verwenden Sie diesen Code, um die Funktion zu testen:
const x = new Set([1, 2, 1, 3, 4, 1, 2, 5]);
[...chunkify(x, 2)]; // [[1, 2], [3, 4], [5]]
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Iterierbares in Blöcke unterteilen" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.