freeCodeCamp/guide/arabic/certifications/javascript-algorithms-and-d.../intermediate-algorithm-scri.../everything-be-true/index.md

7.8 KiB

title localeTitle
Everything Be True كل شيء يكون حقيقة

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

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

يحتاج البرنامج إلى التحقق مما إذا كانت الوسيطة الثانية عنصر صواب ، ويجب أن يتحقق ذلك لكل كائن في الوسيطة الأولى.

روابط ذات صلة

:speech_balloon: تلميح: 1

تذكر أن تتكرر خلال الوسيطة الأولى للتحقق من كل كائن.

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

:speech_balloon: تلميح: 2

فقط إذا كان كل منهم حقيقة فسوف نعود إلى الحقيقة ، لذا تأكد من التحقق منها جميعًا.

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

:speech_balloon: تلميح: 3

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

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

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

علامة تحذير

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

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

استخدام حلقة for-in & hasOwnProperty

`function truthCheck(collection, pre) { // Create a counter to check how many are true. var counter = 0; // Check for each object for (var c in collection) { // If it is has property and value is truthy if (collection[c].hasOwnProperty(pre) && Boolean(collection[c][pre])) { counter++; } } // Outside the loop, check to see if we got true for all of them and return true or false return counter == collection.length; }

// test here truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex"); `

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

شرح الشفرة:

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

روابط ذات صلة

:sunflower: حل الشفرة المتوسطة:

باستخدام Array.every ()

`function truthCheck(collection, pre) { return collection.every(function (element) { return element.hasOwnProperty(pre) && Boolean(element[pre]); }); }

// test here truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex"); `

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

شرح الشفرة:

  • يستخدم الطريقة "every" الأصلية لاختبار ما إذا كانت جميع العناصر في الصفيف تجتاز الاختبار.
  • سوف يساعد هذا الرابط Array.prototype.every ()

روابط ذات صلة

:rotating_light: الحل المتقدم للكود:

`function truthCheck(collection, pre) { // Is everyone being true? return collection.every(obj => obj[pre]); }

truthCheck([{"user": "Tinky-Winky", "sex": "male"}, {"user": "Dipsy", "sex": "male"}, {"user": "Laa-Laa", "sex": "female"}, {"user": "Po", "sex": "female"}], "sex"); `

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

شرح الشفرة:

  • لكل كائن في صفيف collection ، تحقق من صحة خاصية الكائن التي تم تمريرها في المعلمة pre
  • Array#every أسلوب يتحقق داخلياً إذا كانت القيمة التي يتم إرجاعها من رد الاتصال صحيحة.
  • إرجاع true إذا كان يمر لكل كائن. خلاف ذلك ، تعود false .

روابط ذات صلة

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

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

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