كيفية مقارنة سلسلتين في JavaScript

Kyfyt Mqarnt Slsltyn Fy Javascript



[هناك بعض المواقف التي يحتاج فيها المطورون إلى مقارنة سلسلتين. يخطئ معظم المبرمجين في كثير من الأحيان بمحاولة مقارنة سلاسلهم في JavaScript باستخدام عامل التشغيل ==. عامل التشغيل == لديه بعض القيود في هذه الحالة حيث لا يمكن التحقق من أنواع المتغيرات باستخدامه. لذلك ، قد تحتاج إلى البحث عن طرق أخرى للتعامل مع الموقف.

ستوضح هذه المقالة إجراء مقارنة السلاسل في JavaScript.







كيف تقارن بين سلسلتين في JavaScript؟

لمقارنة سلسلتين من JavaScript ، استخدم الطرق المدرجة التالية:



دعونا نفحص عمل كل طريقة على حدة.



الطريقة الأولى: قارن بين سلسلتين باستخدام عامل مساواة صارمة

يمكن استخدام عامل المساواة الصارمة (===) للتحقق مما إذا كانت السلاسل متساوية أم لا. إذا كانت السلاسل مختلفة ، فإنها ترجع خطأ كإخراج ؛ وإلا فإنه يعطي حقيقة. نظرًا لأنها طريقة حساسة لحالة الأحرف ، أثناء مقارنة السلاسل ، فإنها تقارن أيضًا حالة الأحرف ، مما يعني أن الأحرف الصغيرة والكبيرة تعتبر مختلفة.





بناء الجملة

استخدم الصيغة التالية لمقارنة سلسلتين باستخدام عامل المساواة الصارم:

شارع 1 === str2 ؛

هنا ، ' === ”سيقارن بين قيمة ونوع بيانات str1 و str2.



مثال

في هذا المثال ، سنقارن بين السلسلتين أحدهما بأحرف كبيرة والآخر بحروف صغيرة. للقيام بذلك ، سنقوم أولاً بإنشاء متغيرين باسم 'str1' و 'str2' التي تخزن السلاسل ' LinuxHint ' و ' لينوكسينت ':

كنت شارع 1 = 'LinuxHint' ؛
كنت str2 = 'لينكس' ؛

ثم اتصل بـ ' console.log () 'لطباعة النتيجة التي توضح ما إذا كانت السلاسل متساوية أم لا باستخدام' === ' المشغل أو العامل:

وحدة التحكم. سجل ( شارع 1 === str2 ) ؛

يظهر الإخراج ' خاطئة 'مما يشير إلى أن السلاسل غير متساوية لأن عامل المساواة يقوم بإجراء مقارنة حساسة لحالة الأحرف:

إذا كنت ترغب في إجراء مقارنة غير حساسة لحالة الأحرف بين السلاسل ، فيجب عليك اتباع الطرق الموضحة أدناه.

الطريقة 2: قارن بين سلسلتين باستخدام طريقة localeCompare ()

' localeCompare () 'هي طريقة JavaScript محددة مسبقًا تستخدم لمقارنة سلسلتين. يقوم بإجراء مقارنة سلسلة غير حساسة لحالة الأحرف ويستخدم الإعدادات المحلية الحالية لمقارنة سلسلتين.

بناء الجملة

اتبع الصيغة المذكورة أدناه لمقارنة سلسلتين باستخدام طريقة localeCompare ():

شارع 1. اللغة ( str2 ) ؛

هنا، ' str2 'هي السلسلة التي ستتم مقارنتها بـ' شارع 1 ':

مثال

سنستخدم الآن نفس السلاسل التي تم إنشاؤها بالفعل في المثال السابق ثم مقارنتها باستخدام ' localeCompare () 'بمساعدة عامل التشغيل الشرطي:

إذا ( شارع 1. اللغة ( str2 ) ) {
وحدة التحكم. سجل ( 'str1 يساوي str2' ) ؛
} آخر {
وحدة التحكم. سجل ( 'str1 لا يساوي str2' ) ؛
}

كما ترى أن الإخراج يشير إلى أن السلاسل متساوية لأن الطريقة تقارن المقارنة غير الحساسة لحالة الأحرف:

دعنا ننتقل إلى الطريقة التالية!

الطريقة الثالثة: قارن بين سلسلتين باستخدام أسلوب RegExp مع test ()

هناك طريقة أخرى لمقارنة سلسلتين تؤدي أيضًا إلى مقارنة غير حساسة لحالة الأحرف تسمى ' RegExp 'بمساعدة' اختبار() ' طريقة. يتحقق من تساوي السلاسل بناءً على regex المحدد. سيقبل التابع test () سلسلة نصية كوسيطة للمقارنة.

بناء الجملة

اتبع بناء الجملة المحدد لطريقة الاختبار () باستخدام RegEx مع طريقة الاختبار ():

regPattern. اختبار ( str2 ) ؛

هنا، ' str2 'هي السلسلة التي ستتم مقارنتها بـ' regPattern ':

مثال

الآن ، سننشئ مثيلًا من RegExp عن طريق تمرير سلسلة ' شارع 1 'و regex' جي 'التي تشير إلى المقارنة غير الحساسة لحالة الأحرف وتخزنها في متغير' regPattern ':

كنت regPattern = الجديد RegExp ( شارع 1 و 'جي' ) ؛

بعد ذلك ، سوف نسمي ' اختبار() 'بتمرير السلسلة' str2 'كحجة.

كنت أعوام = regPattern. اختبار ( str2 ) ؛

بعد ذلك ، استخدم العبارة الشرطية للتحقق مما إذا كانت السلاسل متساوية أم لا:

إذا ( أعوام ) {
وحدة التحكم. سجل ( 'str1 يساوي str2' ) ؛
} آخر {
وحدة التحكم. سجل ( 'str1 لا يساوي str2' ) ؛
}

انتاج |

إذا كنت تريد مقارنة سلسلة بسلسلة أخرى كسلسلة فرعية ، فيجب عليك اتباع القسم أدناه.

الطريقة الرابعة: مقارنة سلسلتين باستخدام طريقة include ()

لتحديد ما إذا كانت السلسلة سلسلة فرعية للسلسلة الأخرى ، توفر JavaScript طريقة محددة مسبقًا تسمى ' يشمل() ' طريقة. تأخذ سلسلة كوسيطة وتعطي قيمة منطقية ' حقيقي 'إذا كان موجودًا في السلسلة ؛ وإلا فإنها ترجع ' خاطئة '.

بناء الجملة

اتبع الطريقة الموضحة أدناه لاستخدام طريقة include ():

شارع 1. يشمل ( str2 ) ؛

هنا، ' str2 'هي السلسلة التي تتحقق مما إذا كانت مضمنة أو جزءًا من' شارع 1 ':

مثال

هنا ، أولاً ، سننشئ سلسلتين ، 'str1' و 'str2' وتحقق مما إذا كانت السلسلة الثانية سلسلة فرعية للأول أم لا:

كنت شارع 1 = 'LinuxHint' ؛
كنت str2 = 'في' ؛

لهذا ، اتصل ب طريقة 'include ()' بتمرير 'str2' كحجة:

وحدة التحكم. سجل ( شارع 1. يشمل ( str2 ) ) ؛

الناتج يعطي ' حقيقي 'مما يدل على أن' str2 'هو جزء من' شارع 1 ':

قمنا بتجميع جميع الطرق لمقارنة سلسلتين من JavaScript.

استنتاج

لمقارنة سلسلتين من JavaScript ، يمكنك استخدام طريقة localeCompare () ، أو عامل المساواة الصارم ، أو RegEx مع أسلوب test () ، أو طريقة include (). يقوم عامل المساواة الصارم بإجراء مقارنة حساسة لحالة الأحرف بينما تقوم طريقة الاختبار () وطريقة localeCompare () بإجراء مقارنة غير حساسة لحالة الأحرف. أخيرًا ، يتحقق أسلوب include () من السلسلة كسلسلة فرعية في سلسلة أخرى. في هذه المقالة ، أوضحنا طرق مقارنة سلسلتين في JavaScript بأمثلة مناسبة.