✨ دليلك الشامل لفهم دوال المصفوفات في جافاسكريبت
اليوم سنتعرف على واحدة من أهم الأدوات في جافاسكريبت: دوال المصفوفات. هذه الدوال ستجعل تعاملك مع المصفوفات أسهل وأكثر فعالية.
📚 ما هي دوال المصفوفات؟
دوال المصفوفات هي وظائف مدمجة في اللغة تتيح لنا إجراء عمليات مختلفة على عناصر المصفوفة بسهولة. بدلاً من كتابة حلقات for طويلة ومعقدة، يمكننا استخدام هذه الدوال لتحقيق نفس النتائج بكتابة أقل وأكثر وضوحاً.
// مثال على مصفوفة بسيطة
let fruits = ['Apple', 'Banana', 'Orange', 'Strawberry'];
🔧 أهم دوال المصفوفات التي يجب معرفتها
1. forEach() - التكرار على العناصر
تستخدم لتكرار جميع عناصر المصفوفة وتنفيذ دالة معينة على كل عنصر.
let numbers = [1, 2, 3, 4, 5];
numbers.forEach(function(number) {
console.log(number * 2); // تضاعف كل رقم وطباعته
});
// النتيجة: 2, 4, 6, 8, 10
2. map() - تحويل المصفوفة
تنشئ مصفوفة جديدة بنتائج استدعاء الدالة على كل عنصر من العناصر.
let prices = [10, 20, 30, 40];
let discountedPrices = prices.map(function(price) {
return price * 0.8; // خصم 20%
});
console.log(discountedPrices); // [8, 16, 24, 32]
3. filter() - تصفية العناصر
تنشئ مصفوفة جديدة تحتوي فقط على العناصر التي تمر باختبار معين.
let ages = [15, 22, 17, 30, 12, 25];
let adults = ages.filter(function(age) {
return age >= 18; // ترجع فقط الأعمار 18 فما فوق
});
console.log(adults); // [22, 30, 25]
4. find() - البحث عن عنصر
ترجع أول عنصر في المصفوفة الذي يحقق الشرط المطلوب.
let users = [
{ name: 'Ahmed', age: 25 },
{ name: 'Fatima', age: 30 },
{ name: 'Mohamed', age: 20 }
];
let user = users.find(function(person) {
return person.age > 22; // البحث عن أول شخص عمره أكبر من 22
});
console.log(user); // { name: 'Ahmed', age: 25 }
5. includes() - التحقق من وجود عنصر
تتحقق مما إذا كانت المصفوفة تحتوي على عنصر معين.
let colors = ['Red', 'Blue', 'Green'];
let hasBlue = colors.includes('Blue'); // true
let hasYellow = colors.includes('Yellow'); // false
💡 نصائح عملية للاستخدام
forEachتستخدم عندما تريد تنفيذ عملية على كل عنصر دون إنشاء مصفوفة جديدةmapمثالية عندما تريد تحويل كل عنصر وإنشاء مصفوفة جديدةfilterتستخدم عندما تريد تصفية العناصر بناءً على شرط معين- ابدأ دائماً بالدوال البسيطة ثم تدرج إلى الدوال الأكثر تعقيداً
🎯 التطبيق العملي
لنجرب مثالاً يجمع بين عدة دوال:
let products = [
{ name: 'Laptop', price: 1500, category: 'Electronics' },
{ name: 'Book', price: 30, category: 'Education' },
{ name: 'Phone', price: 800, category: 'Electronics' },
{ name: 'Pen', price: 5, category: 'Stationery' }
];
// تصفية المنتجات الإلكترونية ثم استخراج أسعارها فقط
let electronicPrices = products
.filter(product => product.category === 'Electronics')
.map(product => product.price);
console.log(electronicPrices); // [1500, 800]
🎓 اختبر نفسك
السؤال 1 من 30% أكملت
ما هي الدالة المستخدمة لإنشاء مصفوفة جديدة تحتوي على نتائج استدعاء دالة معينة على كل عنصر من عناصر المصفوفة الأصلية؟
آخر تحديث: ٢٩ مارس ٢٠٢٦
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال
جاري تحميل التعليقات...