1.7 KiB
1.7 KiB
title, localeTitle
| 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" ، فإننا نرجع ذلك العدد.
- إذا لم ينجح أي من الأرقام الموجودة في الصفيف في اختبار الوظيفة ، فإننا نرجع إلى الحالة غير معرفة.