الدرس 1 من 8

إزالة التكرار

هدف الدرس

الحلّ بـ Set في سطر واحد ثم الحالة الأصعب

01

الشرح

إزالة التكرار من القيم البسيطة سهلة، ويكفيها [...new Set(arr)]، لأنّ Set لا يقبل قيمة مكرّرة، ويحفظ ترتيب أول ظهور لكل قيمة.

أما الكائنات فأمرها مختلف، لأنّ كائنين لهما المحتوى نفسه هما مرجعان مختلفان، فيراهما Set مختلفين. والحلّ أن تختار مفتاحًا تميّز به كل كائن، ثم تبني عليه Map.

وMap تحفظ ترتيب الإدخال أيضًا، فتخرج النتيجة بالترتيب الذي وردت به العناصر.

02

المطلوب

اكتب unique(arr) للقيم البسيطة، وuniqueBy(arr, key) للكائنات.

الفحوص

5 فحوص
  1. الدالة unique تزيل التكرار
  2. الدالة unique تحفظ ترتيب أول ظهور
  3. المصفوفة الفارغة تُرجع مصفوفة فارغة
  4. الدالة uniqueBy تزيل الكائنات المكرّرة بحسب المفتاح
  5. الدالة uniqueBy تحتفظ بأول ظهور لا بآخره
03

تلميحات

0/3
دروس المسارأتممت 0 من 8

تكتب هنا مرّة واحدة دوالًا تستعملها في كل مشروع بعد ذلك، مثل البحث والترتيب والتجميع وتسطيح القوائم المتداخلة.

مستواه متقدّم، وفيه 8 دروس مجموع مدّتها ساعة ونصف.

index.html
المعاينة
index.html100%
–/5

اضغط «تشغيل وتصحيح» ليبدأ الفحص.

تجد 5 فحوص في بطاقة «المطلوب».

دروس المسارأتممت 0 من 8

تكتب هنا مرّة واحدة دوالًا تستعملها في كل مشروع بعد ذلك، مثل البحث والترتيب والتجميع وتسطيح القوائم المتداخلة.

مستواه متقدّم، وفيه 8 دروس مجموع مدّتها ساعة ونصف.