Using ES6 and the Luxon library write a function to detect overlapping date ranges.

The function must accept a single parameter. This parameter is an array of objects. Each object represents a single date range. The objects in the array have 2 properties each. The first property is named `start` and represents the start date in `yyyy-MM-dd` form. The second property is named `end` and represents the end date in `yyyy-MM-dd` form.

The function must return the input array, with an additional property on each object in the array named `overlap`. The value of this property must be true if the range overlaps with another range, or false if it does not overlap any ranges.

Do not needlessly compare a pair of date ranges multiple times. This rules out the use of nested for loops and nested foreach loops.
1bf90eff-77c5-4014-a342-abc2f6667897
باستخدام ES6 ومكتبة Luxon، اكتب دالة لاكتشاف نطاقات التاريخ المتداخلة.

يجب أن تقبل الدالة معلمة واحدة. هذه المعلمة عبارة عن مجموعة من الكائنات. يمثل كل كائن نطاقًا زمنيًا واحدًا. الكائنات الموجودة في المصفوفة لها خاصيتين لكل منها. الخاصية الأولى تسمى "start" وتمثل تاريخ البدء بصيغة "yyyy-MM-dd". الخاصية الثانية تسمى "end" وتمثل تاريخ الانتهاء بصيغة "yyyy-MM-dd".

يجب أن تقوم الدالة بإرجاع مصفوفة الإدخال، مع خاصية إضافية على كل كائن في المصفوفة تسمى "التداخل". يجب أن تكون قيمة هذه الخاصية صحيحة إذا كان النطاق يتداخل مع نطاق آخر، أو خاطئة إذا لم يتداخل مع أي نطاقات.

لا تقارن بلا داع بين نطاقين زمنيين عدة مرات. هذا يستبعد استخدام حلقات for المتداخلة وحلقات foreach المتداخلة.
submitted
باستخدام ES6 ومكتبة Luxon، اكتب دالة لاكتشاف نطاقات التاريخ المتداخلة.

يجب أن تقبل الدالة معلمة واحدة. هذه المعلمة عبارة عن مجموعة من الكائنات. يمثل كل كائن نطاقًا زمنيًا واحدًا. الكائنات الموجودة في المصفوفة لها خاصيتين لكل منها. الخاصية الأولى تسمى "start" وتمثل تاريخ البدء بصيغة "yyyy-MM-dd". الخاصية الثانية تسمى "end" وتمثل تاريخ الانتهاء بصيغة "yyyy-MM-dd".

يجب أن تقوم الدالة بإرجاع مصفوفة الإدخال، مع خاصية إضافية على كل كائن في المصفوفة تسمى "التداخل". يجب أن تكون قيمة هذه الخاصية صحيحة إذا كان النطاق يتداخل مع نطاق آخر، أو خاطئة إذا لم يتداخل مع أي نطاقات.

لا تقارن بلا داع بين نطاقين زمنيين عدة مرات. هذا يستبعد استخدام حلقات for المتداخلة وحلقات foreach المتداخلة.
{"source": "ewof/sharegpt-instruct-unfiltered-deduped", "kind": "human", "evolved_from": null}