### البحث في المصفوفات في JavaScript
تعتبر المصفوفات (Arrays) من أكثر هياكل البيانات استخدامًا في لغة JavaScript، وذلك لأنها تمكنك من تخزين مجموعات من البيانات في مكان واحد. في كثير من الأحيان، تحتاج إلى البحث عن عنصر أو مجموعة من العناصر داخل المصفوفة. توفر JavaScript مجموعة متنوعة من الطرق للبحث عن [شركة برمجة مصرية] العناصر في المصفوفات. في هذا المقال، سنستعرض بعض هذه الطرق مع أمثلة متعددة.
#### 1. البحث باستخدام `indexOf`
تُستخدم دالة `indexOf` للبحث عن عنصر محدد في المصفوفة وإرجاع أول فهرس يظهر فيه هذا العنصر. إذا لم يتم العثور على العنصر، فإن الدالة تعيد `-1`.
let fruits = ['apple', 'banana', 'mango', 'orange'];
let index = fruits.indexOf('mango');
console.log(index); // Output: 2
index = fruits.indexOf('grape');
console.log(index); // Output: -1
#### 2. البحث باستخدام `lastIndexOf`
تشبه دالة `lastIndexOf` دالة `indexOf`، ولكنها تبدأ البحث من نهاية المصفوفة. يتم استخدامها للعثور على آخر ظهور للعنصر في المصفوفة.
let numbers = [2, 5, 9, 5, 7];
let index = numbers.lastIndexOf(5);
console.log(index); // Output: 3
#### 3. البحث باستخدام `find`
تُستخدم دالة `find` للبحث عن أول عنصر في المصفوفة يحقق شرطًا معينًا يتم تحديده بواسطة دالة اختبار (callback function). تعيد الدالة العنصر إذا وجد، وإلا فإنها تعيد `undefined`.
let numbers = [5, 12, 8, 130, 44];
let found = numbers.find(element => element > 10);
console.log(found); // Output: 12
#### 4. البحث باستخدام `findIndex`
تعمل دالة `findIndex` بشكل مشابه لدالة `find`، لكنها تعيد الفهرس لأول عنصر يحقق الشرط بدلاً من إعادة العنصر نفسه.
let numbers = [5, 12, 8, 130, 44];
let index = numbers.findIndex(element => element > 10);
console.log(index); // Output: 1
#### 5. البحث باستخدام `includes`
تُستخدم دالة `includes` لتحديد ما إذا كانت المصفوفة تحتوي على عنصر معين. تعيد الدالة `true` إذا كان العنصر موجودًا، و `false` إذا لم يكن كذلك.
let fruits = ['apple', 'banana', 'mango', 'orange'];
let hasMango = fruits.includes('mango');
console.log(hasMango); // Output: true
let hasGrape = fruits.includes('grape');
console.log(hasGrape); // Output: false
#### 6. البحث باستخدام `filter`
تُستخدم دالة `filter` لإنشاء مصفوفة جديدة تحتوي على جميع العناصر التي تحقق شرطًا معينًا. لا تعيد الدالة عنصرًا واحدًا أو فهرسًا، بل تعيد مصفوفة جديدة.
let numbers = [12, 5, 8, 130, 44];
let filtered = numbers.filter(element => element > 10);
console.log(filtered); // Output: [12, 130, 44]
### الخاتمة
تقدم JavaScript مجموعة مرنة ومتنوعة من الطرق للبحث في المصفوفات. اختيار الطريقة المناسبة يعتمد على الهدف النهائي من البحث؛ سواء كنت تبحث عن فهرس، أو تحقق من وجود عنصر، أو تريد [شركة برمجة مصرية] العثور على عنصر يحقق شرطًا معينًا. باستخدام هذه الأدوات، يمكنك التعامل مع المصفوفات بفعالية وكفاءة في مشاريعك البرمجية.
