حلقة for...of
جزء من قسم الأساسيات في رحلة JavaScript على Coddy. الدرس 65 من 77.
توفر حلقة for...of طريقة بسيطة للتكرار على قيم الكائنات القابلة للتكرار، مثل المصفوفات والسلاسل النصية والخرائط والمجموعات وغيرها. وهي تجمع بين إيجاز forEach وإمكانية استخدام break وcontinue.
إليك الصياغة الأساسية لحلقة for...of:
for (const element of iterable) {
// الكود الذي سيُنفَّذ لكل عنصر
}element: في كل تكرار، تُسنَد القيمة التالية من الكائن القابل للتكرار إلى هذا المتغير.iterable: الكائن الذي يجري التكرار على عناصره (مثل مصفوفة أو سلسلة نصية).
إليك مثالًا باستخدام مصفوفة:
const fruits = ["apple", "banana", "orange"];
for (const fruit of fruits) {
console.log(fruit);
}الناتج:
apple
banana
orangeإليك مثالًا آخر باستخدام سلسلة نصية:
const text = "hello";
for (const char of text) {
console.log(char);
}المخرجات:
h
e
l
l
oمقارنةً بحلقات for التقليدية أو بطريقة forEach، توفّر for...of صياغةً أبسط للعديد من حالات الاستخدام الشائعة، خاصةً عندما لا تحتاج إلى فهرس كل عنصر.
التحدي
سهلاكتب دالة باسم countVowels تأخذ سلسلة نصية وسيطًا وتُرجع عدد أحرف العلة (a, e, i, o, u) في السلسلة. استخدم حلقة for...of للتكرار على أحرف السلسلة.
على سبيل المثال:
- يجب أن تُرجع
countVowels("hello")العدد 2 - يجب أن تُرجع
countVowels("javascript")العدد 3
احسب الأحرف الكبيرة أيضًا!
جرّب بنفسك
function countVowels(str) {
// اكتب الكود هنا
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2المتغيرات
الأرقامString (النصوص)Boolean (القيم المنطقية)قواعد التسميةالمتغيرات الفارغةمراجعة - تهيئة المتغيراتالثوابت8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Continueمراجعة - Factorialحلقة Do Whileالحلقات المتداخلة3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)اختصارات العمليات الحسابيةمعاملات المقارنةالمساواة الصارمة مقابل العاديةمراجعة - العمليات الحسابية البسيطة6أساسيات الإدخال والإخراج (IO)
الإخراجالإخراج باستخدام المتغيراتتحويل أنواع البيانات - الجزء الأولتحويل أنواع البيانات - الجزء الثانيمراجعة - حتى 120مراجعة - صح أم خطأ9الدوال
تعريف دالةالوسائطالإرجاعمراجعة - دالة Sigmaتعبير الدالةالمعاملات الافتراضيةدوال السهممراجعة - دالة Validation12المصفوفات - الجزء الثاني
التكرار عبر المصفوفاتدالة forEachحلقة for...ofمراجعة - عداد Pتقطيع المصفوفاتدوال المصفوفات - الجزء الثالثدوال المصفوفات - الجزء الرابعاختبار العضويةتدرّب بنفسك: مترجم JavaScript عبر الإنترنت