الدرس 1 من 8
إزالة التكرار
- 11 دقيقة
- 5 فحوص
- 3 تلميحات
- إلى المطلوب
هدف الدرس
الحلّ بـ Set في سطر واحد ثم الحالة الأصعب
الشرح
إزالة التكرار من القيم البسيطة سهلة، ويكفيها [...new Set(arr)]، لأنّ Set لا يقبل قيمة مكرّرة، ويحفظ ترتيب أول ظهور لكل قيمة.
أما الكائنات فأمرها مختلف، لأنّ كائنين لهما المحتوى نفسه هما مرجعان مختلفان، فيراهما Set مختلفين. والحلّ أن تختار مفتاحًا تميّز به كل كائن، ثم تبني عليه Map.
وMap تحفظ ترتيب الإدخال أيضًا، فتخرج النتيجة بالترتيب الذي وردت به العناصر.
المطلوب
اكتب unique(arr) للقيم البسيطة، وuniqueBy(arr, key) للكائنات.
الفحوص
5 فحوص- الدالة unique تزيل التكرار
- الدالة unique تحفظ ترتيب أول ظهور
- المصفوفة الفارغة تُرجع مصفوفة فارغة
- الدالة uniqueBy تزيل الكائنات المكرّرة بحسب المفتاح
- الدالة uniqueBy تحتفظ بأول ظهور لا بآخره