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