32- دروس جافا سكربت – JS Array Sort

العنوان: دليل شامل حول استخدام دالة `sort` لترتيب المصفوفات في JavaScript

المقدمة:

يعتبر التعامل مع المصفوفات من المهام الأساسية في البرمجة بلغة JavaScript، وتوفر اللغة العديد من الأدوات لتسهيل هذه العمليات، ومن بين هذه الأدوات الهامة دالة `sort`. تتيح لنا هذه الدالة ترتيب عناصر المصفوفة بسهولة، سواء كانت العناصر أرقاماً أو نصوصاً. في هذا المقال، سنستعرض كيفية استخدام دالة `sort` بطرق متعددة مع أمثلة توضيحية.

الجزء الأول: أساسيات دالة `sort`

دالة `sort` هي دالة مدمجة في JavaScript تُستخدم لترتيب عناصر المصفوفة. بشكل افتراضي، تقوم الدالة بترتيب العناصر كنصوص وبالترتيب التصاعدي. لنلقِ نظرة على مثال بسيط:

let fruits = ['banana', 'apple', 'orange', 'mango'];
fruits.sort();
console.log(fruits); // ['apple', 'banana', 'mango', 'orange']

كما نرى في المثال السابق، تم ترتيب العناصر نصياً حسب الترتيب الأبجدي.

الجزء الثاني: ترتيب الأرقام

عند التعامل مع الأرقام، يمكن أن يكون السلوك الافتراضي لـ `sort` مضللاً، حيث يتم تحويل الأرقام إلى نصوص قبل الترتيب. لذا، يجب توفير دالة مقارنة للمساعدة في ترتيب الأرقام بشكل صحيح:

let numbers = [10, 5, 20, 15];
numbers.sort((a, b) => a - b);
console.log(numbers); // [5, 10, 15, 20]

في المثال أعلاه، استخدمنا دالة مقارنة تقوم بطرح `b` من `a`، مما يتيح ترتيب الأرقام بشكل تصاعدي. يمكننا عكس الترتيب بطرح `a` من `b`:

numbers.sort((a, b) => b - a);
console.log(numbers); // [20, 15, 10, 5]

[شركة برمجة مصرية] الجزء الثالث: ترتيب العناصر المعقدة

في بعض الأحيان، تحتوي المصفوفات على كائنات أو عناصر معقدة. يمكن استخدام دالة `sort` مع دالة مقارنة للوصول إلى خاصية معينة داخل الكائنات. لننظر إلى المثال التالي:

let people = [
  { name: 'John', age: 25 },
  { name: 'Jane', age: 22 },
  { name: 'Alice', age: 30 }
];

people.sort((a, b) => a.age - b.age);
console.log(people);
// [
//   { name: 'Jane', age: 22 },
//   { name: 'John', age: 25 },
//   { name: 'Alice', age: 30 }
// ]

هنا، قمنا بترتيب الكائنات بناءً على خاصية `age`.

الجزء الرابع: الترتيب النصي مع مراعاة الحالات

عند التعامل مع نصوص تحتوي على حروف كبيرة وصغيرة، يمكن استخدام `localeCompare` لترتيب النصوص بشكل حساس للحالة:

let words = ['Banana', 'apple', 'Orange', 'mango'];
words.sort((a, b) => a.localeCompare(b));
console.log(words); // ['apple', 'Banana', 'mango', 'Orange']

الخاتمة:

تُعد دالة `sort` من الأدوات القوية في JavaScript لترتيب المصفوفات. سواء كنت تتعامل مع [شركة برمجة مصرية] أرقام أو نصوص أو حتى كائنات معقدة، يمكنك تخصيص دالة `sort` لتلبية احتياجاتك. من المهم فهم كيفية عمل الدالة الافتراضي وكيفية استخدام دوال المقارنة لتخصيص عملية الترتيب. نأمل أن يكون هذا الدليل قد أضاف إلى معرفتك حول كيفية استخدام `sort` بفعالية في مشاريعك البرمجية.