يقدم لك محرر Downcodes شرحًا تفصيليًا لطريقة forEach في JavaScript. ستتناول هذه المقالة الاستخدام الأساسي لطريقة forEach، والمقارنة مع طرق الحلقة الأخرى، بالإضافة إلى بعض نصائح الاستخدام المتقدمة والاحتياطات. من خلال أمثلة التعليمات البرمجية الغنية والتفسيرات التفصيلية، تساعدك على فهم طريقة forEach وتطبيقها بشكل أفضل وتحسين قدرات برمجة JavaScript لديك. دعونا نستكشف قوة طريقة forEach وكيفية استخدامها بمهارة في التطوير الفعلي.
ينفذ أسلوب forEach الخاص بجافا سكريبت الوظيفة المقدمة مرة واحدة لكل عنصر من عناصر المصفوفة، وبالتالي تبسيط عملية التكرار خلال المصفوفة. فهو لا يغير المصفوفة الأصلية، كما أنه مرن وفعال، ولا يمكنه الخروج من الحلقة عن طريق إرجاع قيمة. تجعل هذه الميزات forEach أداة مفيدة جدًا عند التعامل مع المصفوفات في برمجة JavaScript. يعد ForEach مفيدًا بشكل خاص عند تنفيذ بعض العمليات عند معالجة عناصر المصفوفة، مثل طباعة كل عنصر من عناصر المصفوفة أو تمرير عناصر المصفوفة إلى دالة.
يحتاج أسلوب forEach إلى تمرير دالة كمعلمة، وسيقوم كل عنصر في المصفوفة بتنفيذ هذه الوظيفة. يمكن أن تقبل هذه الوظيفة ثلاث معلمات: العنصر الحالي، وقيمة الفهرس للعنصر الحالي، والمصفوفة نفسها.
الفقرة الأولى: المثال الأساسي:
const array1 = ['a', 'b', 'c'];
array1.forEach(element => console.log(element));
يتكرر هذا الرمز من خلال المصفوفة array1 ويطبع كل عنصر. يوضح هذا الكود الاستخدام المباشر لطريقة forEach، وهي اجتياز المصفوفة.
الفقرة الثانية: استخدام المعلمة:
العناصر الثابتة = ['item1', 'item2', 'item3'];
نسخة ثابتة = []؛
items.forEach (وظيفة (عنصر، فهرس، صفيف) {
Copy.push(item);
});
في هذا المثال، يحصل forEach على العنصر الحالي (العنصر)، والفهرس الخاص به (الفهرس)، والمصفوفة الأصلية (المصفوفة) من خلال معلمات الدالة. وهذا يسمح داخل الوظيفة ليس فقط بالوصول إلى العنصر الذي تتم معالجته حاليًا، ولكن أيضًا بمعرفة موضع العنصر في المصفوفة، أو بالإشارة مباشرة إلى المصفوفة نفسها.
بالمقارنة مع حلقات for أو طرق الخريطة، يوفر forEach تعليمات برمجية أبسط وأكثر سهولة في سيناريوهات معينة.
الفقرة الأولى: المقارنة مع الحلقة:
تعد حلقة for هي الطريقة الأساسية لاجتياز عناصر المصفوفة في JavaScript، ولكن مقارنةً بحلقة for، توفر forEach صياغة أكثر إيجازًا ووضوحًا. عند استخدام حلقة for، فإنك تحتاج إلى التحكم يدويًا في ظروف البداية والنهاية للحلقة، بينما يقوم التابع forEach بمعالجة هذه المشكلات تلقائيًا.
الفقرة الثانية: المقارنة مع طريقة الخريطة:
تشبه طريقة الخريطة طريقة forEach، وكلاهما طريقتان لاجتياز المصفوفة، ولكن يتم استخدام الخريطة لإنشاء مصفوفة جديدة تتكون من نتائج تنفيذ وظيفة رد الاتصال على كل عنصر من عناصر المصفوفة الأصلية. هذا يعني أنه إذا كان غرضك هو التكرار عبر المصفوفة دون مجموعة نتائج، فإن استخدام forEach سيكون خيارًا أفضل.
نظرًا لأن forEach لا يدعم استخدام الفاصل للانتقال خارج الحلقة أو الاستمرار في تخطي تكرار حلقة معينة، فيمكن استبدال هذه العمليات بطرق أخرى.
الفقرة الأولى: تم طرح الاستثناء:
صفيف ثابت = [1، 2، 3، 4، 5]؛
يحاول {
array.forEach((num) => {
console.log(num);
if (num === 3) throw new Error('LoopTerminated');
});
} قبض (ه) {
if (e.message !== 'LoopTerminated') throw e;
}
هنا، يتم إيقاف الحلقة عن طريق طرح استثناء عندما يكون الرقم يساوي 3. على الرغم من أن هذا نهج قابل للتطبيق، إلا أنه قد يكون أقل من مثالي في التطبيقات العملية لأن معالجة الاستثناءات يتم تطبيقها عادةً على معالجة الأخطاء بدلاً من التحكم في التدفق.
الفقرة الثانية: استخدم Array.prototype.every أو Array.prototype.some:
لا يوفر forEach طريقة مباشرة للخروج من الحلقة، ولكن يمكن تحقيق تأثيرات مماثلة بشكل غير مباشر من خلال الطريقة every أو some. تُرجع كل طريقة صحيحًا عندما تعود جميع استدعاءات دالة رد الاتصال صحيحة، بينما يوقف بعضها التكرار عندما يعود استدعاء دالة رد اتصال واحد على الأقل صحيحًا.
هناك بعض النقاط الأساسية التي يجب ملاحظتها عند استخدام forEach لتجنب الأخطاء الشائعة.
الفقرة الأولى: لن يتم تكرار المصفوفات الفارغة:
عند تنفيذ أسلوب forEach على مصفوفة فارغة، يتم تخطي وظيفة رد الاتصال ولا يتم تنفيذ أي عملية. يمكن أن يؤدي هذا إلى أخطاء منطقية إذا كانت التعليمات البرمجية تعتمد على تنفيذ عمليات الاسترجاعات.
الفقرة الثانية: لا يمكنك تغيير قيم عناصر المصفوفة الأصلية مباشرة:
على الرغم من إمكانية إجراء العمليات على عناصر المصفوفة، إلا أن هذه العمليات لا تغير قيم العناصر في المصفوفة الأصلية. إذا كنت بحاجة إلى تعديل المصفوفة الأصلية، ففكر في استخدام طرق مصفوفة أخرى مثل الخريطة أو التصغير.
يفضل مطورو JavaScript طريقة forEach بسبب بساطتها وسهولة استخدامها. إنه يوفر حلاً مناسبًا وعمليًا عند التعامل مع اجتياز المصفوفة، ولكن يجب عليك أيضًا الانتباه إلى قيوده والسيناريوهات القابلة للتطبيق عند استخدامه لإفساح المجال كاملاً لمزاياه.
كيفية استخدام طريقة forEach للتكرار عبر صفيف في JavaScript؟
طريقة forEach هي طريقة مضمنة لكائنات مصفوفة JavaScript، تُستخدم للتكرار عبر كل عنصر في المصفوفة وتنفيذ الوظيفة المحددة. لاستخدام طريقة forEach، يمكنك اتباع الخطوات التالية:
أولاً، يتم استخدام المصفوفة التي سيتم اجتيازها كمستدعي للأسلوب forEach، متبوعًا بعلامة نقطية. بعد ذلك، بين قوسي طريقة forEach، قم بتمرير دالة كمعلمة. سيتم استدعاء هذه الوظيفة عند اجتياز المصفوفة، وفي كل مرة يتم استدعاؤها، سيتم تمرير العنصر الذي تم اجتيازه حاليًا كمعلمة. داخل جسم الوظيفة، يمكنك إجراء العمليات المطلوبة، مثل طباعة قيمة العنصر، أو تعديل العنصر، أو إجراء عمليات حسابية أخرى.نموذج التعليمات البرمجية باستخدام الأسلوب forEach كما يلي:
Let myArray = [1, 2, 3, 4, 5];myArray.forEach(function(element) { console.log(element); // اطبع قيمة كل عنصر});سوف يتكرر الكود أعلاه على المصفوفة المسماة myArray ويخرج كل عنصر في المصفوفة بدوره.
كيفية تعديل عناصر المصفوفة في طريقة forEach الخاصة بجافا سكريبت؟
عند التكرار على مصفوفة باستخدام التابع forEach، يمكنك تعديل عناصر المصفوفة داخل الدالة التي تم تمريرها. وذلك لأنه سيتم استدعاء الوظيفة التي تم تمريرها في كل مرة يتم فيها اجتياز عنصر، ويتم تمرير العنصر الحالي كمعلمة.
لتعديل العناصر في مصفوفة، يمكنك اتباع الخطوات التالية:
أولاً، قم بإنشاء مصفوفة للتعديل. ثم استخدم الأسلوب forEach للتكرار عبر المصفوفة وتمرير الكود الموجود داخل الوظيفة لتعديل العناصر. داخل الوظيفة التي تم تمريرها، يمكنك استخدام فهرس المصفوفة للوصول إلى قيمة العنصر وتعديلها.يوضح المثال التالي كيفية تعديل قيمة عنصر الصفيف في الأسلوب forEach:
Let myArray = [1, 2, 3, 4, 5];myArray.forEach(function(element, Index, array) { array[index] = element * 2; // اضرب قيمة العنصر في 2 وقم بتعديل القيمة عناصر المصفوفة});console.log(myArray); // الإخراج [2, 4, 6, 8, 10]سيتم تكرار الكود أعلاه من خلال المصفوفة المسماة myArray وتعديل العناصر الموجودة في المصفوفة عن طريق ضرب قيمة كل عنصر في 2.
كيفية استخدام طريقة forEach لتنفيذ مجموع المصفوفات في JavaScript؟
استخدم الأسلوب forEach لجمع العناصر في صفيف بشكل ملائم. لاستخدام التابع forEach لجمع مصفوفة في JavaScript، يمكنك اتباع الخطوات التالية:
أولاً، قم بإنشاء مصفوفة تحتوي على الأرقام التي تريد جمعها. ثم قم بإنشاء متغير لتخزين نتيجة المجموع وتهيئته إلى 0. استخدم الأسلوب forEach للتكرار عبر المصفوفة واستخدم الوظيفة التي تم تمريرها داخليًا لإضافة قيمة كل عنصر إلى نتيجة الجمع. داخل الدالة التي تم تمريرها، يمكن استخدام عامل الإضافة لإضافة قيمة كل عنصر إلى النتيجة الإجمالية.يوضح المثال التالي كيفية استخدام الأسلوب forEach لتنفيذ مجموع المصفوفات:
Let myArray = [1, 2, 3, 4, 5];let sum = 0;myArray.forEach(function(element) { sum += element; // أضف قيمة كل عنصر إلى مجموع النتيجة}) ;console .log(sum); // الإخراج 15سيتم تكرار التعليمات البرمجية أعلاه من خلال المصفوفة المسماة myArray وتجميع قيمة كل عنصر في المتغير sum، وبالتالي تنفيذ مجموع المصفوفة.
نأمل أن تساعدك هذه المقالة على فهم طريقة forEach واستخدامها بشكل أفضل في JavaScript. إذا كان لديك أي أسئلة، يرجى ترك رسالة في منطقة التعليق!