Freecodecamp: التحدي [الوصول إلى المصفوفات متعددة الأبعاد باستخدام الفهارس] حل الخطأ

تم إنشاؤها على ٨ أغسطس ٢٠١٦  ·  10تعليقات  ·  مصدر: freeCodeCamp/freeCodeCamp

تحدي الوصول إلى المصفوفات متعددة الأبعاد باستخدام الفهارس
لديه مشكلة.

وكيل المستخدم هو: Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36 .
يرجى وصف كيفية إعادة إظهار هذه المشكلة ، وتضمين روابط إلى لقطات الشاشة إن أمكن.
لقد استخدمت للتو myData = 4 + 4 للحصول على myData = 8 وقمت بحل التحدي بهذه الطريقة ، إذا لم أكن مخطئًا ، فهذا خطأ ...

رمز بلدي:


// Setup
var myArray = [[1,2,3], [4,5,6], [7,8,9], [[10,11,12], 13, 14]];

// Only change code below this line.
var myData = myArray[0][0];
myData = 4 + 4;

help wanted

التعليق الأكثر فائدة

@ Pablo152 شكرا على هذه القضية. أنت على صواب ، هذا خطأ من نوع ما. ممم لالتقاط هذا النوع من التعليمات البرمجية ، قد يكون من الصعب. يمكننا إضافة اختبارين:

  1. الرمز الافتراضي هو var myData = myArray[0][0]; لذلك يمكننا التحقق من أنهم على الأقل قاموا بتغيير الأصفار إلى شيء آخر.
  2. تأكد من عدم وجود أي تعبير عادي لـ myData = <some number> على سبيل المثال لـ /myData = \d/ أو شيء مشابه.

cc / @ FreeCodeCamp / issue-moderators

ال 10 كومينتر

@ Pablo152 شكرا على هذه القضية. أنت على صواب ، هذا خطأ من نوع ما. ممم لالتقاط هذا النوع من التعليمات البرمجية ، قد يكون من الصعب. يمكننا إضافة اختبارين:

  1. الرمز الافتراضي هو var myData = myArray[0][0]; لذلك يمكننا التحقق من أنهم على الأقل قاموا بتغيير الأصفار إلى شيء آخر.
  2. تأكد من عدم وجود أي تعبير عادي لـ myData = <some number> على سبيل المثال لـ /myData = \d/ أو شيء مشابه.

cc / @ FreeCodeCamp / issue-moderators

erictleung يمكن دمج أحد هذين الاختبارين أو كليهما مع اختبار You should be using bracket notation to read the value from myArray لتجنب إضافة المزيد إلى منطقة رسالة الاختبار ، نظرًا لأنهما يستهدفان نفس الحالة.

erictleung أنا أتفق مع BKinahan - نظرًا لأننا نضيف المزيد من الاختبارات لمعالجة مختلف الحالات التي تظهر ، فإننا نضع هذه الاختبارات وراء أقل عدد ممكن من الاختبارات لتجنب تخويف المعسكر بجدار من الاختبارات.

تضمين التغريدة أعتقد أنه يمكننا فقط إضافة إلى اختبار You should be using bracket notation to read the value from myArray مع التحقق من أن القوس ليس myArray[0][0] . يجب أن يكون هذا كافيا للقبض على هذه القضية الزاوية.

erictleung أعتقد أننا بحاجة إلى كل من اختبارك أعلاه والتعبير العادي المذكور أعلاه لـ / myData = \ d / لأنني أستطيع تعيين myData = [2] [2] ؛ ولا يزال تشغيل الكود الشائن myData = 4+4 لاجتياز التحدي. إذا وافقت ، سأحاول تحديث الاختبار للتحقق من تغيير كل من myData [0] [0] والتعبير العادي.

dhcodes تبدو معقولة. كما ذكر QuincyLarson ، حاول تقليل عدد الاختبارات التي نحتاج إلى إضافتها ، إن وجدت. لذلك بالنسبة للتعبير العادي الذي يبحث عن /myData = \d/ لن يغطي حالة myData = 4 + 4 لذا تحقق مما إذا كان بإمكانك حساب ذلك أيضًا. شكر!

dhcodes قال إنه لا يعمل على هذا ، لذا التقطته 😄

على الرغم من أن حل 4 + 4 يحل التحدي ، فإن الطريقة الصحيحة للحل بناءً على التوجيهات ، "باستخدام تدوين الأقواس ، حدد عنصرًا من myArray بحيث تكون myData تساوي 8" ، ستكون:

// اقامة
var myArray = [[1،2،3] ، [4،5،6] ، [7،8،9] ، [[10،11،12] ، 13 ، 14]] ؛

// فقط قم بتغيير الكود الموجود أسفل هذا الخط.
var myData = myArray [2] [1] ،

myArray [2] [1] ؛

موضوع جميل أتعلمه ،

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات