7.2 KiB
title | localeTitle |
---|---|
Profile Lookup | بحث الملف الشخصي |
تذكر استخدام Read-Search-Ask
إذا واجهتك مشكلة. حاول إقران البرنامج واكتب الكود الخاص بك
شرح المشكلة:
لدينا مجموعة من الكائنات التي تمثل أشخاصًا مختلفين في قوائم جهات الاتصال الخاصة بنا.
lookUpProfile()
التي تأخذ الاسم الأول و خاصية ( prop ) كوسائط قد تمت كتابتها مسبقًا نيابة عنك.
يجب التحقق من الوظيفة إذا كان الاسم الأول هو الاسم الأول جهة اتصال الفعلي وممتلكات معينة (دعم) هو خاصية من هذا الاسم.
إذا كان كلاهما صحيحًا ، فأعد قيمة هذه الخاصية.
إذا كان الاسم الأول لا يتوافق مع أي جهات اتصال ، فعندئذ No such contact
ترجع No such contact
.
إذا كان البروب لا يتوافق مع أي خصائص صالحة ، فعندئذ No such property
ترجع No such property
.
- تغيير الرمز أدناه
// Only change code below this line
وحتى// Only change code above this line
. - تأكد من أنك تقوم بتحرير داخل وظيفة
lookUpProfile()
.- تتضمن هذه الوظيفة معلمتين ، firstName و prop .
- يجب أن تبحث الدالة من خلال قائمة جهات الاتصال لمعلمة firstName المحددة.
- في حالة وجود تطابق موجود ، يجب أن تبحث الدالة عن معلمة prop المقدمة.
- إذا تم العثور على كل من firstName و prop المقترن ، يجب عليك إرجاع قيمة prop .
- إذا تم العثور على firstName ولم يتم العثور على دعم مقترن ، يجب عليك إرجاع
No such property
.
- إذا لم يتم العثور على الاسم الأول في أي مكان، يجب أن تعيد
No such contact
.
روابط ذات صلة
تلميح: 1
استخدم حلقة for
للتنقل بين قائمة جهات الاتصال .
حاول أن تحل المشكلة الآن
تلميح: 2
استخدام متداخلة if
تصريح لالاختيار أولا إذا يطابق الاسم الأول، ومن ثم يتحقق if
المباريات دعامة.
حاول أن تحل المشكلة الآن
تلميح: 3
ترك لكم return "No such contact"
من for
حلقة كما التقاط كل النهائي.
حاول أن تحل المشكلة الآن
تنبيه المفسد!
الحل في المستقبل!
الحل الأساسي للكود:
for (var x = 0; x < contacts.length; x++){ if (contacts[x].firstName === name) { if (contacts[x].hasOwnProperty(prop)) { return contacts[x][prop]; } else { return "No such property"; } } } return "No such contact";
شرح الشفرة:
- و
for
حلقة يدير، ابتداء من الساعة الكائن الأول في قائمة الأسماء. - إذا تطابق المعلمة firstName تمريرها في الدالة قيمة المفتاح
"firstName"
في الكائن الأول ، تمرير عبارةif
. - ثم ، نستخدم
.hasOwnProperty()
طريقة (يتحقق إذا كان هناك خاصية معينة وترجع قيمة منطقية) بالدعم كوسيطة. إذا كان صحيحًا ، يتم إرجاع قيمة الداعم .- في
if
فشل العبارة الثانية فيif
عدم إرجاعNo such property
.
- في
- في
if
فشل العبارة الأولى فيif
استمرار حلقةfor
إلى الكائن التالي في قائمة جهات الاتصال . - إذا لم تطابق المعلمة الاسم الأول من قبل الاتصالات النهائية الاعتراض، و
for
مخارج حلقة وNo such contact
يتم إرجاعها.
مثال تشغيل
lookUpProfile("Akira","likes");
أشواط.- تتم مطابقة
"Akira"
مع المفتاح"firstName"
في الكائن الأول ، لذا فإن العبارةif
ترجع true. - تم العثور على
"likes"
داخل الكائن الأول ، لذا فإن العبارة الثانيةif
صحيحة. - يتم إرجاع قيمة
"likes"
-"Pizza", "Coding", "Brownie Points"
.
ملاحظات للمساهمات:
- لا تقم بإضافة حلول مشابهة لأي حلول موجودة. إذا كنت تعتقد أنها مشابهة ولكن أفضل ، فحاول دمج (أو استبدال) الحل المشابه الموجود.
- أضف شرحًا لحلك.
- تصنيف الحل في واحدة من الفئات التالية - الأساسي والمتوسط والمتقدم .
- الرجاء إضافة اسم المستخدم الخاص بك فقط إذا قمت بإضافة أي محتويات رئيسية ذات صلة . ( لا تزيل أي أسماء مستخدمين حالية )