لتكرار عناصر الصفيف باستخدام التكرار بدلاً من حلقة for في JavaScript، يمكنك استخدام الوظيفة التالية التي تستخدم التكرار:
javascriptfunction duplicateArrayItems(arr) {
if (arr.length === 0) {
return [];
}
const [first, ...rest] = arr;
return [2 * first, ...duplicateArrayItems(rest)];
}
const arr = [1, 2, 3, 4, 5];
const duplicatedArr = duplicateArrayItems(arr);
console.log(duplicatedArr); // Output: [2, 4, 6, 8, 10]
هذه الوظيفة duplicateArrayItems
تأخذ مصفوفة كمدخل وتقوم بإعادة نسخ عناصر المصفوفة مضاعفة بواسطة 2. إذا كانت المصفوفة فارغة، تعيد مصفوفة فارغة أيضًا.
المزيد من المعلومات
بالطبع! يمكننا إضافة المزيد من المعلومات حول كيفية تكرار عناصر الصفيف باستخدام التكرار بدلاً من حلقة for في JavaScript:
-
الاستدعاء الذاتي (Recursion): التكرار هو نهج برمجي يتيح للدالة استدعاء نفسها مباشرة أو غير مباشرة. في هذه الحالة، تقوم الدالة
duplicateArrayItems
بالاستدعاء الذاتي لنفسها عندما تقوم بتكرار العناصر المتبقية في المصفوفةrest
. -
تقسيم المصفوفة (Array Destructuring): في كل مرة يتم فيها استدعاء الدالة
duplicateArrayItems
، يتم تقسيم المصفوفة إلى عنصر أولي وبقية العناصر باستخدام قوسين مربعين. في هذه الحالة، يتم تخزين العنصر الأول فيfirst
والعناصر المتبقية فيrest
. -
استخدام العامل الانتقائي (…): يتم استخدام العامل الانتقائي (spread operator)
...
لدمج العنصر المضاعف مع العناصر المكررة من المصفوفةrest
التي تم تكرارها. -
حالة الخروج (Base Case): يجب دائمًا تضمين حالة الخروج من التكرار، والتي في هذه الحالة تكون عندما تكون المصفوفة فارغة، حيث تعود الدالة بمصفوفة فارغة.
-
الانتباه إلى القيم الافتراضية: يجب توخي الحذر عند استخدام الدالة مع مصفوفات غير فارغة، حيث قد تؤدي عملية تحريك العناصر (
shift
) إلى تعطيل الدالة عن العمل كما هو متوقع، ويفضل استخدام قيم افتراضية للحد من ذلك.
باستخدام هذا النهج، يمكنك تكرار عناصر المصفوفة باستخدام التكرار بدلاً من حلقة for، والحصول على النتيجة المتوقعة بنفس الطريقة.