4.2 KiB
title | localeTitle |
---|---|
Nesting For Loops | التعشيش للحلقات |
التعشيش للحلقات
- تذكر استخدام Read-Search-Ask إذا واجهتك مشكلة. محاولة إقران البرنامج: التمثال النصفي في صورة ظلية: وكتابة الرمز الخاص بك: قلم رصاص:
-
checkered_flag: مشكلة التفسير:
إذا كان لديك صفيف متعدد الأبعاد ، فيمكنك استخدام نفس المنطق الذي تستخدمه نقطة الاتصال السابقة لتكرار الحلقات من خلال الصفيف وأية صفيف فرعي.
هنا مثال:
var arr = [ [1,2], [3,4], [5,6] ]; for (var i=0; i < arr.length; i++) { for (var j=0; j < arr[i].length; j++) { console.log(arr[i][j]); } }
هذا إخراج كل عنصر فرعي في arr
واحد في كل مرة. لاحظ أنه بالنسبة للحلقة الداخلية ، فإننا نتحقق من طول arr [i] ، لأن arr [i] هو نفسه مصفوفة.
- تعديل الدالة
multiplyAll
بحيث تضاعف متغيرproduct
قبل كل رقم في sub-arrays ofarr
. - تأكد من تداخل الثانية للحلقة داخل الأول.
روابط ذات صلة
: speech_balloon: تلميح: 1
تأكد من التحقق مع length
وليس الصفيف العام.
- حاول أن تحل المشكلة الآن
-
speech_balloon: تلميح 2
استخدم كل من i
و j
عند ضرب المنتج.
- حاول أن تحل المشكلة الآن
-
speech_balloon: تلميح 3
تذكر استخدام arr[i]
عند ضرب المصفوفات الفرعية بمتغير product
.
حاول أن تحل المشكلة الآن
- الحل قبل
-
مبتدئ: حل الرمز الأساسي:
`function multiplyAll(arr) { var product = 1; // Only change code below this line for(var i=0; i < arr.length; i++){ for (var j=0; j < arr[i].length; j++){ product = product * arr[i][j]; } } // Only change code above this line return product; }
- // Modify values below to test your code
- multiplyAll(1,2],[3,4],[5,6,7);
- `
-
صاروخ: تشغيل التعليمات البرمجية
شرح الشفرة:
- نتحقق من طول
arr
فيi
for loop وarr[i]
length في الحلقةj
for loop. - نضرب متغير
product
حد ذاته لأنه يساوي 1 ، ومن ثم نضربه بواسطة المصفوفات الفرعية. - والصفحتان الفرعيتان
arr[i]
هماarr[i]
وj
.
: الحافظة: ملاحظات للمساهمات:
- : تحذير: لا تقم بإضافة حلول مشابهة لأي حلول موجودة. إذا كنت تعتقد أنها مشابهة ولكن أفضل ، فحاول دمج (أو استبدال) الحل المشابه الموجود.
- أضف شرحًا لحلك.
- تصنيف الحل في واحدة من الفئات التالية - الأساسي والمتوسط والمتقدم. : traffic_light:
- الرجاء إضافة اسم المستخدم الخاص بك فقط إذا قمت بإضافة أي محتويات رئيسية ذات صلة. (: تحذير: لا تقم بإزالة أي أسماء مستخدمين موجودة)
انظر: point_right: Wiki Challenge Solution Template كمرجع.