Avatar ·

كيفية تصفية 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