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

48 lines
1.7 KiB
Markdown
Raw Normal View History

---
title: Finders Keepers
localeTitle: من يجد شيئا يحتفظ به
---
## شرح المشكلة
نحتاج إلى إرجاع العنصر من صفيف يمر بوظيفة. كل من `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" ، فإننا نرجع ذلك العدد.
* إذا لم ينجح أي من الأرقام الموجودة في الصفيف في اختبار الوظيفة ، فإننا نرجع إلى الحالة غير معرفة.