sort()
ترتيب مصفوفة sort()
sort() ترتّب عناصر المصفوفة في مكانها (تُعدّل الأصل)، افتراضيًا كنصوص أبجديًا — تحتاج دالة مقارنة للأرقام.
أشهر فخّ بجافاسكريبت: sort() بلا دالة مقارنة تحوّل كل عنصر لنص وترتّبه أبجديًا، فترتيب [10, 2, 1] يصبح [1, 10, 2] بشكل خاطئ رياضيًا. مرّر دالة مقارنة (a, b) => a - b لترتيب رقمي صحيح.
الصياغة
array.sort((a, b) => a - b); // تصاعدي رقمي array.sort((a, b) => b - a); // تنازلي رقمي
⚡ جرّب بنفسك
عدّل الكود واضغط «تحديث» لترى النتيجة فورًا — التجربة أفضل معلّم.
⚡ محرّر تفاعلي
const numbers = [10, 2, 33, 4]; console.log([...numbers].sort()); // ترتيب أبجدي خاطئ رقميًا console.log([...numbers].sort((a, b) => a - b)); // صحيح
وحدة التحكّم
اضغط «تشغيل» لرؤية النتيجة هنا.
أهم المعاملات
| المعامل | الوظيفة |
|---|---|
| compareFn | دالة مقارنة (a, b) تُرجع سالبًا/صفرًا/موجبًا لتحديد الترتيب |
💡 نصائح عملية
- استخدم [...array].sort() لنسخ المصفوفة أولًا إذا لم ترد تعديل الأصل — sort تُعدّل المكان مباشرة
- لترتيب كائنات حسب حقل: array.sort((a, b) => a.field - b.field)
⚠️ أخطاء شائعة
- استخدام sort() بلا دالة مقارنة على أرقام — يرتّبها كنصوص وينتج ترتيبًا خاطئًا رياضيًا
- توقّع أن sort لا تُعدّل المصفوفة الأصلية — بعكس map/filter، هي تُعدّل بمكانها فعليًا
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار JAVASCRIPT الكامل بالعربي.