typescript / intermediate
Snippet
Aufteilen von Sammlungen in gleichmäßige Blöcke mit Array.from
Die Verwendung von Array.from mit einem Objekt, das über eine length-Eigenschaft verfügt, ermöglicht das saubere Erstellen mehrdimensionaler Arrays ohne manuelle Schleifen oder Nebeneffekte.
snippet.ts
typescript
1
2
3
4
5
6
7
8
9
10
function chunkArray<T>(items: T[], chunkSize: number): T[][] {const length = Math.ceil(items.length / chunkSize);return Array.from({ length }, (_, index) => {const start = index * chunkSize;return items.slice(start, start + chunkSize);});}const numbers = [1, 2, 3, 4, 5, 6, 7];const chunked = chunkArray(numbers, 3);
Erklärung
1
function chunkArray<T>(items: T[], chunkSize: number): T[][] {
Generische Signatur, die eine starke Typisierung für Array-Elemente und verschachtelte Ausgaben gewährleistet.
2
const length = Math.ceil(items.length / chunkSize);
Berechnet die Gesamtzahl der erforderlichen Unter-Array-Gruppen.
3
return Array.from({ length }, (_, index) => {
Erstellt ein neues Array spezifischer Länge und initialisiert Elemente über einen Mapping-Callback.