freeCodeCamp/guide/arabic/certifications/javascript-algorithms-and-d.../intermediate-algorithm-scri.../make-a-person/index.md

7.4 KiB

title localeTitle
Make a Person اصنع شخصا

:triangular_flag_on_post: تذكر استخدام Read-Search-Ask إذا واجهتك مشكلة. حاول إقران البرنامج :busts_in_silhouette: واكتب الكود الخاص بك :pencil:

:checkered_flag: شرح المشكلة:

عندما بدأت البرنامج ، برزت للتو في إنشاء المهام الست المذكورة في التفاصيل. ومع ذلك ، لم يكن بهذه البساطة. إن ابتكارها كوظيفة ليس بالطريقة الصحيحة ، كان علي أن أقوم بإنشائها بطريقة مختلفة لجعلها مفتاحًا.

هناك أيضا جزء صعب لأنك تحتاج إلى ستة مفاتيح لا أكثر أو أقل ، لذلك في البداية كان لدي المتغير الذي يخزن الاسم الأصلي كمفتاح أيضا والذي كان خطأ.

أما بالنسبة لاستخدام الصفيف ، فهو اختياري ، يمكنك أيضًا إنشاء متغير جديد لإمساك السلسلة المنفصلة إذا كنت ترغب في ذلك ، ولكن من الأسهل التعامل مع الصفيف حيث أن السلاسل غير قابلة للتغيير.

اقرأ التعليمات بعناية ، فهو دائمًا تلميح جيد لتشغيل الشفرة والتحقق من نتائج الاختبار بحيث تعرف ما تتوقعه ولكن لا تثبت نفسك في ذلك. بمجرد أن تفهم ما تحتاج إلى القيام به ، فإن هذه المشكلة سهلة ومباشرة.

روابط ذات صلة

:speech_balloon: تلميح: 1

استخدم هذا الترميز لإنشاء المفاتيح بدلاً من الدوال العادية: هذا يعني بدلاً من var varName = function() {/*...*/} يجب عليك استخدام this.varName = function() {/*...*/}

حاول أن تحل المشكلة الآن

:speech_balloon: تلميح: 2

يحتوي البرنامج على اختبار يتحقق من عدد المفاتيح التي استخدمتها ، يجب أن يكون ستة ، ستة المذكورة في قسم التفاصيل. هذا يعني إذا كنت بحاجة إلى العمل مع المتغيرات ، وجعلها محلية وليس مفتاح: this.fullName = firstAndLast;

حاول أن تحل المشكلة الآن

:speech_balloon: تلميح: 3

في كثير من الأحيان لا تعمل الشفرة بالطريقة التي تتوقعها بسبب أسماء المتغيرات الخاطئة ، تأكد من التحقق من تهجئتها بالطريقة الصحيحة. هذا يحدث لنا جميعا في مرحلة ما.

حاول أن تحل المشكلة الآن

:speech_balloon: تلميح: 4

إذا كنت تواجه مشاكل في كتابة أساليب setter ، في ما يلي نموذج لأسلوب set :

this.setFullName = function(input) { // Insert your code here }

حاول أن تحل المشكلة الآن

تنبيه المفسد!

علامة تحذير

الحل في المستقبل!

:beginner: الحل الأساسي للكود:

`var Person = function(firstAndLast) { var fullName = firstAndLast;

this.getFirstName = function() { return fullName.split(" ")[0]; };

this.getLastName = function() { return fullName.split(" ")[1]; };

this.getFullName = function() { return fullName; };

this.setFirstName = function(name) { fullName = name + " " + fullName.split(" ")[1]; };

this.setLastName = function(name) { fullName = fullName.split(" ")[0] + " " + name; };

this.setFullName = function(name) { fullName = name; }; };

var bob = new Person('Bob Ross'); bob.getFullName(); `

:rocket: تشغيل الكود

شرح الشفرة:

  • قم بإنشاء متغير سيجعل نسخة من الاسم الكامل الذي تم تمريره كمعلمة.
  • ثم يمكننا المضي قدمًا لإنشاء الطرق الست المطلوبة وإعادة ما يُطلب منك.
  • بالنسبة للمستوطنين ، يمكننا استخدام الانقسام لتحويل الاسم بالكامل إلى مصفوفة من الأسماء الأولى والأخيرة وسَلسَلة الجزء غير المتغير من الاسم مع ما تم تمريره كمعلمة.

روابط ذات صلة

:clipboard: ملاحظات للمساهمات:

  • :warning: لا تقم بإضافة حلول مشابهة لأي حلول موجودة. إذا كنت تعتقد أنها مشابهة ولكن أفضل ، فحاول دمج (أو استبدال) الحل المشابه الموجود.
  • أضف شرحًا لحلك.
  • تصنيف الحل في واحدة من الفئات التالية - الأساسي والمتوسط والمتقدم . :traffic_light:
  • الرجاء إضافة اسم المستخدم الخاص بك فقط إذا قمت بإضافة أي محتويات رئيسية ذات صلة . ( :warning: لا تزيل أي أسماء مستخدمين حالية )

نرى :point_right: Wiki Challenge Solution Template كمرجع.