الدرس 3 من 8

الترتيب دون إفساد الأصل

هدف الدرس

انتبه فـ sort يعدّل الأصل

01

الشرح

من الأخطاء الشائعة أن تنسى أن array.sort() يعدّل المصفوفة نفسها ثم يُرجعها، فترتّبها مرّة واحدة ويضيع ترتيبها الأصلي إلى الأبد.

والحلّ أن تأخذ نسخة قبل الترتيب: [...products].sort(...)، أو أن تستعمل products.toSorted(...) في الإصدارات الحديثة.

ودالة المقارنة تُرجع رقمًا، فالسالب يعني أن الأول يأتي قبل الثاني، والموجب يعني العكس، وللأرقام تكتب (a, b) => a.price - b.price.

02

المطلوب

اجعل الزرّين يرتّبان المنتجات بالسعر تصاعديًا وتنازليًا، مع بقاء products بترتيبه الأصلي.

الفحوص

5 فحوص
  1. القائمة تعرض المنتجات الأربعة
  2. «الأرخص أولًا» يضع مسطرة في المقدّمة
  3. «الأغلى أولًا» يضع حقيبة في المقدّمة
  4. الترتيب صحيح في القائمة كلّها لا في أوّلها فقط
  5. المصفوفة products ما زالت بترتيبها الأصلي
03

تلميحات

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

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

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