Wie man null und undefined aus einem Array in TypeScript filtert: vollständige Anleitung
Hallo zusammen! Ich habe gerade angefangen, TypeScript zu lernen, und bin auf ein Problem bei der Arbeit mit Arrays gestoßen. Ich habe ein Array, das Werte wie `null` oder `undefined` enthalten kann, und ich möchte ein neues Array nur mit den tatsächlichen Werten erhalten.
Hier ist ein Codebeispiel:
```typescript
const mixedArray: (number | null | undefined)[] = [1, null, 2, undefined, 3, null, 4];
// Ich versuche, null und undefined zu filtern
const filteredArray = mixedArray.filter(item => item !== null && item !== undefined);
// Aber TypeScript denkt immer noch, dass filteredArray null/undefined enthalten könnte
// filteredArray hat den Typ (number | null | undefined)[]
// Obwohl ich explizit alle leeren Werte herausgefiltert habe!
```
Ich habe bereits verschiedene Varianten ausprobiert:
1. `filter(item => item)` — aber das filtert auch `0` und `false` heraus, was ich nicht möchte
2. `filter(item => item != null)` — hilft auch nicht bei den Typen
3. Explizite Typumwandlung `as number[]` — funktioniert, ist aber ein Workaround
Wie kann ich dieses Problem richtig lösen? Ich möchte, dass TypeScript den korrekten Typ erkennt.
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs