دالة Filter
جزء من قسم المنطق وتدفق التنفيذ في رحلة JavaScript على Coddy. الدرس 53 من 65.
تُنشئ الدالة filter() مصفوفة جديدة تحتوي على جميع العناصر التي تجتاز الاختبار الذي تطبقه الدالة الممررة. وهي مفيدة لتحديد مجموعة فرعية من العناصر من مصفوفة ما بناءً على معايير محددة.
البنية الأساسية:
let newArray = arr.filter(function(currentValue, index, array) {
// return true للاحتفاظ بالعنصر، false خلاف ذلك
});إليك مثالاً بسيطاً:
const numbers = [1, 2, 3, 4, 5, 6];
const evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // [2, 4, 6]لا تقوم الدالة filter() بتعديل الـ array الأصلي. بل تُرجع array جديداً يحتوي فقط على الـ element التي اجتازت الاختبار.
التحدي
سهلأنشئ دالة باسم filterBooks تأخذ معلمين (parameters):
- مصفوفة من كائنات الكتاب، حيث يحتوي كل
bookعلى الخصائصtitle(سلسلة نصية)، وauthor(سلسلة نصية)، وrating(رقم من 1 إلى 5) - الحد الأدنى للتقييم (رقم)
يجب أن تستخدم الدالة طريقة filter() لإعادة array جديدة تحتوي فقط على books التي تمتلك rating أكبر من أو يساوي الحد الأدنى للتقييم.
جرّب بنفسك
function filterBooks(books, minRating) {
// اكتب الكود الخاص بك هنا
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفق التنفيذ
1السلاسل النصية بعمق
أساسيات السلاسل النصيةالتكرار عبر السلاسل النصيةTemplate Literalsدوال السلاسل النصيةمراجعة - String Weaver2المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات5المجموعات - الجزء الأول
ما هي المجموعة؟التكرار عبر المجموعاتإضافة عنصرإزالة عنصرالتحقق من وجود عنصرالحجم وهل هي فارغةالنسخ والمسحملخص - أساسيات المجموعات8مواضيع شيقة حول الـ Arrays
تفكيك الـ Arrayاستخدام الـ Spread Syntax في الـ Arraysالـ Sparse Arraysمراجعة - ورشة عمل الـ Arrays3JSON الجزء الأول
ما هو JSON؟التحقق من وجود المفتاحObject MethodsSpread Operator الجزء الأولSpread Operator الجزء الثانيحذف المفاتيحمراجعة - معالجة مفاتيح JSON6المجموعات - الجزء الثاني
الرياضيات - اتحاد المجموعاتالرياضيات - تقاطع المجموعاتالرياضيات - الفرق بين المجموعاتالرياضيات - الفرق المتناظرالمجموعات الجزئية والمجموعات الفائقةمراجعة - مجموعات الأصدقاء9دوال المصفوفات المتقدمة
دالتا Join و Splitدالة Mapدالة Filterدالة Reduceتسلسل دوال المصفوفاتهل ForEach و Map متماثلتان؟دالة Sortدالتا Find و FindIndexمراجعة - محترف التسلسلتدرّب بنفسك: مترجم JavaScript عبر الإنترنت