يتم إعطاؤك مقتطف الكود التالي:

```جافا سكريبت
  خط المغادرة: سلسلة | باطل؛
  وقت المغادرة: سلسلة | باطل؛
  تأخير المغادرة: الرقم؛
  رحيلRealTime: سلسلة | باطل؛
[];
```

يمثل مقتطف التعليمات البرمجية هذا كائن JavaScript يحتوي على مجموعة من معلومات المغادرة لخدمة النقل. يمثل كل عنصر في المصفوفة معلومات حول مغادرة واحدة ويتكون من الخصائص التالية:

- `departureLine`: سلسلة تمثل خط أو مسار المغادرة. يمكن أن يكون "فارغًا" إذا كان السطر غير معروف.
- `departureTime`: سلسلة تمثل وقت المغادرة المجدول للمغادرة. يمكن أن يكون "فارغًا" إذا كان الوقت غير معروف.
- `departureDelay`: عدد صحيح يمثل تأخير المغادرة بالدقائق. يمكن أن يكون صفر إذا لم يكن هناك تأخير.
- `departureRealTime`: سلسلة تمثل وقت المغادرة الفعلي. يمكن أن يكون "فارغًا" إذا لم تكن البيانات في الوقت الفعلي متاحة.

مهمتك هي كتابة دالة `filterDepartures` تأخذ مصفوفة من كائنات المغادرة وترجع مصفوفة جديدة تحتوي فقط على حالات المغادرة التي تستوفي الشروط التالية:

1. الخاصية "departureLine" ليست "فارغة".
2. خاصية "departureTime" ليست "فارغة".
3. خاصية "departureDelay" أكبر من أو تساوي 10 دقائق.
4. الخاصية "departureRealTime" ليست "فارغة".

يجب أن يكون ترتيب المغادرة في مصفوفة الإخراج هو نفس الترتيب في مصفوفة الإدخال.

اكتب دالة `filterDepartures` لحل هذه المشكلة. يجب أن تحتوي الوظيفة على التوقيع التالي:

```مخطوطة
وظيفة مرشح المغادرين (المغادرون: المغادرة []): المغادرة [] ؛
```

**مدخل**

- المعلمة `المغادرة` هي مصفوفة من كائنات `المغادرة` (كما هو محدد في مقتطف الشفرة).
- طول مصفوفة "المغادرين" لا يزيد عن 1000.

**انتاج**

- يجب أن تقوم الدالة بإرجاع مصفوفة جديدة من كائنات "المغادرة" التي تستوفي الشروط المذكورة أعلاه.
- يجب أن يكون ترتيب المغادرة في مصفوفة الإخراج هو نفس الترتيب في مصفوفة الإدخال.

**مثال**

```مخطوطة
المغادرة الثابتة: المغادرة[] = [
  {
    خط المغادرة: "الخط 1"،
    وقت المغادرة: "10:00"،
    تأخير المغادرة: 5،
    وقت المغادرة: "9:55"،
  },
  {
    خط المغادرة: فارغ،
    وقت المغادرة: "11:30"،
    تأخير المغادرة: 15،
    وقت المغادرة: "11:45"،
  },
  {
    خط المغادرة: "الخط 2"،
    وقت المغادرة: فارغ،
    تأخير المغادرة: 0,
    المغادرةالوقت الحقيقي: فارغة،
  },
  {
    خط المغادرة: "الخط 3"،
    وقت المغادرة: "14:20"،
    تأخير المغادرة: 20،
    وقت المغادرة: "14:40"،
  },
];

const filteredDepartures = filterDepartures(departures);
console.log(filteredDepartures);
```

انتاج:

```نص عادي
[
  {
    خط المغادرة: "الخط 1"،
    وقت المغادرة: "10:00"،
    تأخير المغادرة: 5،
    وقت المغادرة: "9:55"،
  },
  {
    خط المغادرة: "الخط 3"،
    وقت المغادرة: "14:20"،
    تأخير المغادرة: 20،
    وقت المغادرة: "14:40"،
  },
]
```

توضيح:

- الانطلاقة الأولى مستوفية لجميع الشروط، لذلك تدخل في المخرجات.
- المغادرة الثانية لها قيمة `فارغة` لخاصية `departureLine`، لذلك يتم استبعادها من الإخراج.
- المغادرة الثالثة لها قيمة `فارغة` لخاصية `departureTime`، لذلك يتم استبعادها من الإخراج.
- الرحيل الرابع مستوفي لجميع الشروط ومدرج في المخرجات.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}