JavaScript Fundamentals

إزالة العنصر الأول من المصفوفة في جافاسكريبت بكفاءة

Spread the love

إدارة المصفوفات بكفاءة أمر بالغ الأهمية في تطوير جافا سكريبت. إن إزالة العنصر الأول مهمة شائعة، وهذا الدليل يفصل أفضل الأساليب، مع التركيز على كفاءة الحفاظ على المصفوفة الأصلية.

محتويات

تعديل المصفوفة الأصلية

في الحالات التي يكون فيها تغيير المصفوفة الأصلية مقبولاً، توفر طريقة shift() الحل الأكثر كفاءة. إنها تزيل العنصر الأول مباشرةً وتعيده. إذا كانت المصفوفة فارغة، فإنها تُعيد undefined.


let myArray = [1, 2, 3, 4, 5];
myArray.shift(); 
console.log(myArray); // الإخراج: [2, 3, 4, 5]

ضع في اعتبارك أن shift() عملية مدمرة – يتم تغيير المصفوفة الأصلية بشكل دائم.

إنشاء مصفوفة جديدة

للحفاظ على سلامة المصفوفة الأصلية، قم بإنشاء مصفوفة جديدة باستثناء العنصر الأول. فيما يلي الطرق المثلى:

1. استخدام slice():

إن طريقة slice() تُنشئ نسخة سطحية من جزء من مصفوفة. لحذف العنصر الأول، ابدأ الشريحة من الفهرس 1:


let myArray = [1, 2, 3, 4, 5];
let newArray = myArray.slice(1);
console.log(myArray); // الإخراج: [1, 2, 3, 4, 5] (الأصل لم يتغير)
console.log(newArray); // الإخراج: [2, 3, 4, 5]

2. استخدام بناء جملة الانتشار (…):

يوفر بناء جملة الانتشار بديلاً مختصراً وسهل القراءة:


let myArray = [1, 2, 3, 4, 5];
let newArray = [...myArray.slice(1)]; 
console.log(myArray); // الإخراج: [1, 2, 3, 4, 5] (الأصل لم يتغير)
console.log(newArray); // الإخراج: [2, 3, 4, 5]

تجنب filter(): على الرغم من إمكانية ذلك من الناحية الفنية، إلا أن استخدام filter() لهذا الغرض الوحيد أقل كفاءة من slice() لأنه يتكرر عبر المصفوفة بأكملها بشكل غير ضروري.

اختيار الطريقة الصحيحة

إذا كان تعديل المصفوفة الأصلية مقبولاً، فإن shift() هي الأكثر كفاءة. للحفاظ على الأصل، يوصى باستخدام slice() أو بناء جملة الانتشار لوضوحها وأدائها. تذكر أن slice() تُنشئ نسخة سطحية؛ ستؤثر التغييرات على الكائنات المتداخلة داخل المصفوفة الجديدة على الأصل.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *