مصنف القوائم المجاني - فرز أبجدي ورقمي عبر الإنترنت
قم بفرز أي قائمة فوراً عبر الإنترنت. فرز أبجدي من A-Z، ترتيب رقمي، إزالة التكرارات، وتصدير JSON. أداة مجانية لتنظيم الأسماء والأرقام والبيانات.
فارز القوائم
القائمة المفروزة
التصور
التوثيق
أداة ترتيب القوائم
أداة ترتيب القوائم هي أداة تتلقى مجموعة من العناصر النصية المفصولة بحرف يحدده المستخدم، ثم ترتبها. ترتب هذه الأداة القوائم أبجديًا أو عدديًا، ويمكنها إزالة الإدخالات المكررة وإخراج النتيجة كنص عادي أو بصيغة JSON.
كيفية ترتيب قائمة عبر الإنترنت
- اكتب القائمة أو الصقها في مربع الإدخال.
- حدّد الفاصل، وهو الحرف الذي يفصل بين عنصر وآخر. الفاصلة هي الإعداد الافتراضي.
- اختر نوع الترتيب: أبجدي للكلمات، وعددي للأرقام.
- اختر اتجاه الترتيب: تصاعديًا أو تنازليًا.
- فعّل خيار «إزالة التكرارات» إذا كان ينبغي حذف الإدخالات المكررة.
- اختر تنسيق الإخراج، نصًا أو JSON.
- انسخ النتيجة.
كيفية عمل الترتيب الأبجدي
يقارن الوضع الأبجدي العناصر بوصفها نصوصًا، باستخدام مقارنة نصية تراعي اللغة والإعدادات الإقليمية بدلًا من مقارنة رموز الأحرف الخام. وهذا يجمع الكلمات بحسب حروفها أولًا، فيتعامل بشكل صحيح مع الأحرف ذات العلامات، إذ تُرتَّب "Zürich" و"São Paulo" في المواضع التي يتوقعها القارئ المتمرس.
تُعامل حالة الأحرف كقاعدة ثانوية. فتُجمع الكلمتان اللتان تختلفان في حالة الأحرف فقط، مثل "apple" و"Apple"، معًا، وتوضع النسخة المكتوبة بالأحرف الصغيرة أولًا. أما الأرقام المرتبة بهذه الطريقة فتُقارن خانةً خانةً بوصفها نصًا، ولهذا تأتي "10" قبل "2": إذ يُقارن الحرف "1" قبل الوصول إلى "2" أصلًا.
مثال. الإدخال: banana, apple, cherry, apple، والفاصل ,، والترتيب تصاعدي، مع إزالة التكرارات.
- بعد إزالة "apple" المكررة:
banana, apple, cherry - الترتيب التصاعدي:
apple, banana, cherry
كيفية عمل الترتيب العددي
يحوّل الوضع العددي كل عنصر إلى رقم ويقارن الأرقام مباشرة، لذلك تأتي "2" قبل "10". ويُفحص كل عنصر في القائمة أولًا. فإذا تعذر قراءة عنصر واحد فقط بوصفه رقمًا، فلا ترتب الأداة القائمة مطلقًا. بل تعرض رسالة خطأ ولا تنتج أي نتيجة. وينطبق ذلك حتى إذا كان عنصر واحد فقط من قائمة طويلة غير صالح.
مثال. الإدخال: 10, 2, 33, 4، والترتيب تصاعدي.
- الترتيب التصاعدي:
2, 4, 10, 33 - الترتيب التنازلي:
33, 10, 4, 2
مثال على حالة الخطأ. الإدخال: 10, apple, 3، في الوضع العددي.
- النتيجة: لا تُعاد أي قائمة. تعرض الأداة الرسالة "Invalid numerical input" لأن تحويل "apple" إلى رقم غير ممكن.
لترتيب قائمة تجمع بين الأحرف والأرقام، استخدم الوضع الأبجدي بدلًا من ذلك.
إزالة التكرارات
يحتفظ خيار «إزالة التكرارات» بأول ظهور لكل عنصر ويحذف بقية الظهورات. ويقارن العناصر بوصفها نصًا مطابقًا تمامًا، لذلك فهو يراعي حالة الأحرف: يُعدّ "Apple" و"apple" عنصرين مختلفين، ويظل كلاهما موجودًا ما لم تُحوَّل القائمة إلى أحرف صغيرة أولًا.
الفواصل
يحدد الفاصل المكان الذي ينتهي عنده عنصر ويبدأ فيه العنصر التالي. ويمكن استخدام أي نص فاصلًا، وليس حرفًا واحدًا فقط. ومن الخيارات الشائعة:
- الفاصلة (
,) للبيانات المنسوخة من جداول البيانات أو ملفات CSV - الفاصلة المنقوطة (
;) للقوائم التي تحتوي أصلًا على فواصل - مسافة واحدة لقوائم الكلمات القصيرة
مربع الفاصل حقل من سطر واحد، لذلك لا يمكن إدخال فاصل أسطر بوصفه فاصلًا. ينبغي تحويل القوائم التي يوجد فيها عنصر في كل سطر إلى صيغة مفصولة بفواصل أولًا.
إذا بدا الناتج المرتب عنصرًا واحدًا طويلًا بدلًا من قائمة، فالسبب عادةً أن الفاصل لا يطابق الإدخال.
إخراج JSON
يؤدي اختيار إخراج JSON إلى وضع القائمة المرتبة في مصفوفة JSON، بحيث يكون لكل عنصر سلسلة نصية واحدة، مثل ["apple", "banana", "cherry"]. تُكتب كل مدخلة سلسلة نصية بين علامتي اقتباس، حتى في الوضع العددي: فترتيب 10, 2 عدديًا ثم التصدير إلى JSON يعطي ["2", "10"]، وليس العددين 2 و10. وعلى البرامج التي تحتاج إلى قيم عددية فعلية أن تحوّل السلاسل النصية بعد الاستيراد.
استخدامات أداة ترتيب القوائم
يناسب الترتيب الأبجدي أسماء جهات الاتصال ورموز المنتجات ومراجع الببليوغرافيا، إذ تشترط أساليب كثيرة من أساليب الاستشهاد ترتيبها حسب اسم عائلة المؤلف. ويناسب الترتيب العددي الأسعار والدرجات والقياسات. وتساعد إزالة التكرارات على تنظيف القوائم التي أُنشئت بنسخ البيانات من أكثر من مصدر، مثل جداول البيانات المدمجة أو قوائم جهات الاتصال المُصدَّرة.
بالنسبة إلى مجموعات البيانات الكبيرة جدًا، عادةً ما يقدمُ استخدام قاعدة بيانات ذات عمود مفهرس أو ميزة الترتيب المدمجة في جدول البيانات أداءً أفضل من أداة تعمل في المتصفح. ولترتيب الملف نفسه مرارًا ضمن عملية مؤتمتة، تكون أداة سطر الأوامر أو النص البرمجي أنسب من صفحة ويب.
ملاحظة قصيرة حول خوارزميات الترتيب
ترتيب قائمة قصيرة وترتيب قائمة من مليون عنصر يقومان على الفكرة نفسها: مقارنة أزواج من العناصر وتنظيمها بالترتيب. وتفعل الخوارزميات الكفؤة ذلك دون مقارنة كل زوج ممكن. تستخدم الدالة المضمّنة في JavaScript Array.prototype.sort، التي تعتمد عليها مرتِّبات كثيرة تعمل في المتصفح، خوارزمية Timsort في V8، وهو المحرك الذي تقوم عليه Chrome وNode.js. وTimsort خوارزمية هجينة تجمع بين الترتيب بالدمج والترتيب بالإدراج، كتبها تيم بيترز للغة Python في عام 2002. وتستخدم المتصفحات الأخرى خوارزميات ترتيب مستقرة مختلفة؛ فمواصفة JavaScript تشترط أن تكون النتيجة مستقرة، أي أن العناصر المتساوية في المقارنة تحتفظ بترتيبها النسبي الأصلي، لكنها لا تشترط خوارزمية بعينها.
الأسئلة الشائعة
كيف أرتب قائمة أبجديًا عبر الإنترنت؟ الصق القائمة في مربع الإدخال، واختر «أبجدي» نوعًا للترتيب، ثم اختر الترتيب التصاعدي (من A إلى Z) أو التنازلي (من Z إلى A). تظهر القائمة المرتبة فورًا.
لماذا فشل الترتيب العددي؟ يرفض الوضع العددي القائمة بأكملها إذا كان أي عنصر واحد غير صالح كرقم، بدلًا من تجاهل العنصر غير الصالح. افحص القائمة بحثًا عن أحرف زائدة أو رموز عملات أو فراغات إضافية وأزلها، أو انتقل إلى الوضع الأبجدي إذا كان من المفترض أن تحتوي القائمة على نص.
هل تتعامل الأداة مع الأحرف الكبيرة والصغيرة على أنها متطابقة عند الترتيب؟ نعم، لأغراض الترتيب؛ إذ تُجمع "apple" و"Apple" متجاورتين. أما عند إزالة التكرارات فلا؛ فهما تُعاملان كعنصرين مختلفين ما لم تُحوَّل القائمة أولًا إلى حالة أحرف واحدة.
ما الفاصل الذي ينبغي استخدامه؟ أي حرف أو سلسلة قصيرة تطابق الطريقة التي تُفصل بها عناصر القائمة فعلًا: الفاصلة للبيانات بنمط CSV، أو الفاصلة المنقوطة إذا كانت الفواصل موجودة أصلًا داخل العناصر. ولا يمكن استخدام فاصل أسطر، لأن حقل الفاصل يقبل سطرًا واحدًا فقط.
هل يمكنني تصدير القائمة المرتبة بصيغة JSON؟
نعم. ناتج JSON مصفوفة من السلاسل النصية بين علامتي اقتباس بالترتيب المرتب، مثل ["2", "4", "10"] بعد ترتيب عددي. ولا تُحوَّل القيم إلى أعداد JSON أصلية.
هل يوجد حد لعدد العناصر التي يمكنني ترتيبها؟ تعمل الأداة في المتصفح، لذلك قد تؤدي القوائم الكبيرة جدًا، التي تضم عشرات الآلاف من العناصر أو أكثر، إلى إبطاء الأداء أو الضغط على الذاكرة المتاحة، بحسب الجهاز. وفي هذا الحجم، تكون قاعدة البيانات أو النص البرمجي خيارًا أكثر موثوقية.
المراجع
- MDN Web Docs. String.prototype.localeCompare(). developer.mozilla.org — مقارنة النصوص بحسب اللغة والإعدادات الإقليمية في الترتيب.
- مشروع V8. Getting things sorted in V8. v8.dev — ينفّذ V8 الدالة Array.prototype.sort بخوارزمية Timsort التي طوّرها تيم بيترز للغة Python في عام 2002.
- MDN Web Docs. Array.prototype.sort(). developer.mozilla.org — تشترط المواصفة ترتيبًا مستقرًا منذ ECMAScript 2019.