مقدمة:
JavaScript هي لغة برمجة مستخدمة على نطاق واسع، وتوفر العديد من الأساليب المضمنة للتعامل مع السلاسل. هناك طريقتان من أكثر الطرق استخدامًا للبحث عن سلسلة لحرف معين أو سلسلة فرعية دليل ل() و يبحث() . على الرغم من أن هاتين الطريقتين قد تبدوان متشابهتين في الوظيفة، إلا أن لديهما بعض الاختلافات الرئيسية. في هذه المقالة، سوف نستكشف الاختلافات بين IndexOf() و search() في JavaScript.
طريقة الفهرس () :
ال دليل ل() الطريقة هي وظيفة JavaScript مضمنة تُستخدم للعثور على فهرس التواجد الأول لسلسلة فرعية داخل سلسلة معينة. تقوم هذه الطريقة بإرجاع فهرس التواجد الأول للسلسلة الفرعية المحددة، بدءًا من بداية السلسلة. إذا لم يتم العثور على السلسلة الفرعية، ترجع الطريقة -1 .
بناء الجملة:
بناء الجملة لاستخدام دليل ل() الطريقة هي كما يلي:
string.indexOf(searchValue[, fromIndex])
هنا، خيط هي السلسلة التي سيتم البحث عنها، قيمة البحث هي القيمة التي يجب البحث عنها، و من الفهرس هي المعلمة الاختيارية التي تحدد الموضع في السلسلة حيث يجب أن يبدأ البحث. إذا من الفهرس لم يتم توفير، و دليل ل() يبدأ الأسلوب البحث من بداية السلسلة. لو من الفهرس هو سلبي القيمة، يبدأ البحث من نهاية السلسلة.
مثال:
باش قراءة الملف
لنأخذ مثالا لفهم دليل ل() طريقة:
let str = 'JavaScript is a powerful programming language'; let index = str.indexOf('powerful'); console.log(index);
انتاج:
16
توضيح:
هنا، طريقة الفهرس (). يبحث عن أول ظهور للكلمة 'قوي' في السلسلة 'جافا سكريبت هي لغة برمجة قوية' . منذ الكلمة 'قوي' يظهر في الفهرس 16 ، تعود الطريقة 16 .
طريقة البحث ():
ال طريقة البحث (). هي أيضًا وظيفة JavaScript مضمنة تُستخدم للعثور على فهرس الحرف الأول من سلسلة فرعية داخل سلسلة معينة. تقوم هذه الطريقة بإرجاع فهرس التواجد الأول للسلسلة الفرعية المحددة، بدءًا من بداية السلسلة. إذا لم يتم العثور على السلسلة الفرعية، ترجع الطريقة -1 .
بناء الجملة:
بناء الجملة لاستخدام طريقة البحث (). على النحو التالي:
string.search(regexp)
هنا، خيط هي السلسلة المراد البحث عنها، و regexp هل تعبير عادي نمط للبحث عنه. إذا تعبير عادي تم العثور على نمط، و يبحث() تقوم الطريقة بإرجاع فهرس الحرف الأول من المطابقة. إذا لم يتم العثور على نمط التعبير العادي، فسيتم إرجاع الطريقة -1 .
مثال:
لنأخذ مثالا لفهم يبحث() طريقة:
let str = 'JavaScript is a powerful programming language'; let index = str.search(/powerful/); console.log(index);
انتاج:
16
توضيح:
هنا، يبحث() طريقة البحث عن تعبير عادي نمط /قوي/ في السلسلة 'جافا سكريبت هي لغة برمجة قوية' . نظرًا لأن نمط التعبير العادي يطابق الكلمة 'قوي' ، تعود الطريقة 16 .
الاختلافات بين IndexOf() و search():
على الرغم من كليهما دليل ل() و يبحث() تُستخدم الطرق للبحث عن سلسلة فرعية ضمن سلسلة معينة، إلا أنها تحتوي على بعض الاختلافات الرئيسية. دعونا نلقي نظرة على هذه الاختلافات جنبا إلى جنب:
طريقة الفهرس (). | طريقة البحث (). |
---|---|
دليل ل() تبحث الطريقة عن سلسلة فرعية محددة ضمن سلسلة معينة. | يبحث() تبحث الطريقة عن نمط تعبير عادي ضمن سلسلة معينة. |
تقوم طريقة IndexOf () بإرجاع فهرس التواجد الأول للسلسلة الفرعية المحددة. | تقوم طريقة البحث () بإرجاع فهرس الحرف الأول من المطابقة. |
لا يدعم أسلوب IndexOf () التعبيرات العادية. | تدعم طريقة البحث () التعبيرات العادية. |
يمكن أن تقبل طريقة IndexOf () معلمة اختيارية من الفهرس لبدء البحث من فهرس محدد. | لا تقبل طريقة البحث () معلمة اختيارية لبدء البحث من فهرس محدد. |
تعد طريقة IndexOf () أسرع من طريقة البحث () لأنها لا تدعم التعبيرات العادية. | طريقة البحث () أبطأ من طريقة الفهرس () لأنها تدعم التعبيرات العادية. |
تعتبر طريقة IndexOf () حساسة لحالة الأحرف. | تعد طريقة البحث () أيضًا حساسة لحالة الأحرف بشكل افتراضي، ولكن يمكن جعلها غير حساسة لحالة الأحرف باستخدام التابع / أنا العلم في نمط التعبير العادي. |
تُستخدم طريقة IndexOf () على نطاق واسع لعمليات البحث عن السلاسل البسيطة. | تُستخدم طريقة البحث () على نطاق واسع لمطابقة الأنماط المعقدة باستخدام التعبيرات العادية. |
خاتمة:
وفي الختام، على حد سواء دليل ل() و يبحث() تعتبر الطرق مفيدة للبحث عن سلسلة فرعية ضمن سلسلة معينة. ومع ذلك، لديهم بعض الاختلافات الرئيسية التي تجعلهم مناسبين لحالات الاستخدام المختلفة. تعد طريقة IndexOf() أسرع وأكثر ملاءمة لعمليات البحث عن السلاسل البسيطة، بينما تدعم طريقة search() التعبيرات العادية وهي أكثر ملاءمة لمطابقة الأنماط المعقدة. من المهم اختيار الطريقة المناسبة بناءً على المتطلبات المحددة لبرنامجك.