كيفية تصفية null و undefined من مصفوفة في TypeScript: دليل كامل
مرحباً بالجميع! لقد بدأت للتو في تعلم TypeScript وواجهت مشكلة أثناء العمل مع المصفوفات. لدي مصفوفة قد تحتوي على قيم `null` أو `undefined`، وأحتاج إلى الحصول على مصفوفة جديدة تحتوي فقط على القيم الفعلية.
إليك مثال على الكود:
```typescript
const mixedArray: (number | null | undefined)[] = [1, null, 2, undefined, 3, null, 4];
// أحاول تصفية null و undefined
const filteredArray = mixedArray.filter(item => item !== null && item !== undefined);
// لكن TypeScript لا يزال يعتقد أن filteredArray قد تحتوي على null/undefined
// نوع filteredArray هو (number | null | undefined)[]
// على الرغم من أنني قمت بتصفية جميع القيم الفارغة بشكل صريح!
```
لقد جربت بالفعل خيارات مختلفة:
1. `filter(item => item)` — لكن هذا يقوم بتصفية `0` و `false` أيضاً، وهو ما لا أحتاجه
2. `filter(item => item != null)` — لا يساعد أيضاً مع الأنواع
3. تحويل النوع بشكل صريح `as number[]` — يعمل، لكنه حل مؤقت
كيف يمكنني حل هذه المشكلة بشكل صحيح؟ أحتاج إلى أن Typ