freeCodeCamp/guide/arabic/certifications/javascript-algorithms-and-d.../basic-algorithm-scripting/finders-keepers/index.md

1.7 KiB

title localeTitle
Finders Keepers من يجد شيئا يحتفظ به

شرح المشكلة

نحتاج إلى إرجاع العنصر من صفيف يمر بوظيفة. كل من function و array تم تمريرها إلى وظيفة لدينا findElement(arr, func) .

تلميح: 1

يمكن إجراء البحث في المصفوفة باستخدام حلقة for .

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

تلميح: 2

num يتم تمريرها إلى الدالة. سنحتاج إلى تعيينه على العناصر التي نريد التحقق منها.

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

تلميح: 3

لا تنسَ ، إذا لم ينجح أي من الأرقام في الصفيف في الاختبار ، فيجب أن undefined .

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

الحل الأساسي

`function findElement(arr, func) { let num = 0;

for(var i = 0; i < arr.length; i++) { num = arr[i]; if (func(num)) { return num; } }

return undefined; } `

شرح الشفرة

  • يطالبنا التحدي بالبحث من خلال الصفيف. يتم ذلك باستخدام حلقة for .
  • يتم تمرير متغير num إلى الدالة ، لذا قمنا بتعيينه على كل فهرس في الصفيف الخاص بنا.
  • تتحقق الدالة المحددة مسبقًا بالفعل من كل رقم بالنسبة إلينا ، لذا إذا كانت "true" ، فإننا نرجع ذلك العدد.
  • إذا لم ينجح أي من الأرقام الموجودة في الصفيف في اختبار الوظيفة ، فإننا نرجع إلى الحالة غير معرفة.