البرمجة

كيفية استخدام دالة filter في جافا سكريبت

عند تشغيل الكود الذي وضعته، ستحصل على خطأ يقول “TypeError: str.filter is not a function” لأن الدالة filter() لا تعمل مباشرة على سلاسل النصوص (strings) في جافا سكريبت. الدالة filter() تعمل على مصفوفات (arrays) فقط.

لتطبيق الدالة filter() على النص الذي تريد، عليك أولاً تحويل النص إلى مصفوفة باستخدام الدالة split('') كما فعلت في السطر الأول من الكود. ثم يمكنك استخدام الدالة filter() على المصفوفة المحددة.

هناك طريقة أخرى لكتابة الكود للقيام بنفس الغرض، حيث يمكنك تحويل النص مباشرة إلى مصفوفة باستخدام الدالة split('') ومن ثم استخدام الدالة filter() عليها، كما هو موضح في الكود التالي:

javascript
var str = "I am a string."; var fil = function(val){ return val !== "a"; }; console.log(str.split('').filter(fil).join(''));

سيتم تحويل النص إلى مصفوفة باستخدام split('')، ثم يتم تطبيق الدالة filter() على المصفوفة المنشأة، وأخيرًا يتم دمج العناصر المتبقية في المصفوفة إلى نص واحد باستخدام join('').

هذا الكود سينتج النتيجة التالية:

c
I m string.

وهي النص الأصلي بعد إزالة جميع حروف “a”.

المزيد من المعلومات

بالطبع! في جافا سكريبت، الدالة filter() تُستخدم لتصفية عناصر المصفوفة بناءً على شرط محدد في دالة فرعية. تقوم الدالة بتمرير كل عنصر من العناصر إلى الدالة الفرعية، وإذا كانت الدالة الفرعية تعيد true، يتم الاحتفاظ بالعنصر، وإذا كانت تعيد false، يتم تجاهله.

في حالة النصوص، يتم تحويل النص إلى مصفوفة من الأحرف باستخدام split('') كما ذكرت. ثم، يمرر كل حرف إلى الدالة fil التي قمت بتعريفها، حيث تُقيم ما إذا كان الحرف يجب الاحتفاظ به أم لا (بناءً على شرط val !== "a"). الحروف التي تفي بالشرط تبقى، والحروف الأخرى تُزال.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر