
بسم الله الرحمن الرحيم والصلاة على من بعت رحمة للعالمين سيد الأولين والأخرين سيدنا محمد صلى الله عليه وأله وسلم
أما بعد ... إخواني أحبائي وأصدقائي أهلا بكم... ندخل صلب الموضوع سلام حار لكل متصفح للموضوع وكل عضو بالمنتدى 
سنتحدث اليوم إن شاء الله عن إحدى أقوى الدوال في الجافا سكريبت ألا وهي Filter وظيفة filter في Ja va S c r i pt تُستخدم لإنشاء مصفوفة جديدة تحتوي على عناصر يتم اختيارها استنادًا إلى شرط معين. وتُستخدم filter بشكل رئيسي في الحالات التالية: سنتعرض لكل حالة من الحالات السابقة بمثال حي حتى تكتمل الصورة قبل البدء : وجب التنبيه على أنني سأستخذم extension خاصة وهي Live Server حتى نتمكن من متابعة التغييرات أول بأول 
سنقوم بإنشاء مجلد خاص بالدرس يحتوي على ملفين أساسيين و اللذان سنستخذمهما في هذا الدرس 
في ملف index.html سنقوم بعمل تمبلت الخاصة بHtml 5 
بعض التعديلات على السريع في ملف index حيث سنقوم بتعريف ملف jS الخاص بنا 

1- تصفية البياناتكما أشرت من قبل تصفية البيانات أعني بها التخلص من بعد البيانات التي لا تحترم شرط ما أضعه لنعطي مثالا حيا حتى تتضح المعلومة 
هذه مصفوفة من الأعداد الإيجابية و السلبية أريد أن أفرز فقط الأعداد الإيجابية مثلا قبل أن نتطرق إلى دالة هذا الدرس و هي Filter لنرى كيف يمككنا فرز الأعداد عن طريق Loop 
عرفنا مصفوفة فارغة بإسم positiveNumbers و التي سيتم ملئها فيما بعد نضع تمبلت for المعتاد بحيث نعرف متغير i يكون في البداية يساوي 0 ، مادام i لم يصل إلى طول المصفوفة (numbers.length) سيظل يطبع الشرط الذي وضعته ، بالنسبة للشرط فهو بسيط إذا كان العدد الذي وصلت له أكبر أو يساوي 0 ضعه في مصفوفة positiveNumbers وهكذا حتى تنتهي من الأعداد في المصفوفة الأولى Numbers و في الأخير console.log الأعداد الموجبة التي حصلت عليها 
عمل شاق يأخذ الوقت الكثير ، لهذا و في مثل هذه السيناريوهات يمكننا اللجوء إلى دالة Filter إليك الآن كم من سطر سيتم إختزاله 
تقريبا خمس أسطر تم إختزاله لكي تكون النتيجة مشابهة لما سبق 
بل يمكننا إختزال سطر إضافي ، إليك الصورة 
مادام عندنا return يسبقه معقوفات يمكننا إزالتهم في Js 
2- فرز البياناتلننتقل إلى مثال يمكن أن يكون مشابها لما ستحتاجه في العمل الحي تخيل معي لديك مصفوفة بها موظفي شركة ما و أنت تريد فرز فقط موظفين من رتبة معينة إليك المثال 
لكي تكون النتيجة كما يلي 
بحيث حصلنا على مصفوفة جديدة تتكون من Object الذي يحتوي على الموظفين من رتبة HR ثم يمكنك فيما بعد أن تستخرج فقط أسماءهم 

3- التعامل مع القيم الفارغة أو القيم الخاصة أعني بهذا كيفية التعامل مع القيم غير المرغوب فيها إليك المثال 
لكي نتخلص من القيم غير المرغوب فيها 
لكي يكون الناتج هو 

باختصار، filter هي دالة قوية في --SS-- تُساعد في اختيار العناصر المطلوبة من مصفوفة بناءً على شروط معينة، مما يجعلها مفيدة في مجموعة متنوعة من السيناريوهات بما في ذلك التصفية، والفرز، والتعامل مع القيم الفارغة 
|