Avatar ·

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.