วิธีเปรียบเทียบสองสตริงใน JavaScript

Withi Periyb Theiyb Sxng String Ni Javascript



[มีบางสถานการณ์ที่นักพัฒนาจำเป็นต้องเปรียบเทียบสองสตริง โปรแกรมเมอร์ส่วนใหญ่มักทำผิดพลาดในการพยายามเปรียบเทียบสตริงใน JavaScript โดยใช้ตัวดำเนินการ == ตัวดำเนินการ == มีข้อ จำกัด บางประการในสถานการณ์นี้เนื่องจากประเภทตัวแปรไม่สามารถตรวจสอบได้โดยใช้ ดังนั้น คุณอาจต้องหาวิธีอื่นในการจัดการกับสถานการณ์

บทความนี้จะสาธิตขั้นตอนการเปรียบเทียบสตริงใน JavaScript







จะเปรียบเทียบสองสตริงใน JavaScript ได้อย่างไร

สำหรับการเปรียบเทียบสตริง JavaScript สองสตริง ให้ใช้เมธอดในรายการต่อไปนี้:



มาดูการทำงานของแต่ละวิธีแยกกัน



วิธีที่ 1: เปรียบเทียบสองสตริงโดยใช้ Operator ที่เท่าเทียมกันอย่างเข้มงวด

สามารถใช้ตัวดำเนินการความเท่าเทียมกันอย่างเข้มงวด (===) เพื่อตรวจสอบว่าสตริงเท่ากันหรือไม่ หากสตริงต่างกัน จะคืนค่าเท็จเป็นเอาต์พุต มิฉะนั้นก็ให้จริง เนื่องจากเป็นวิธีการที่คำนึงถึงขนาดตัวพิมพ์ ในขณะที่เปรียบเทียบสตริง จะเปรียบเทียบตัวพิมพ์ของตัวอักษรด้วย ซึ่งหมายความว่าอักษรตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ถือว่าแตกต่างกัน





ไวยากรณ์

ใช้ไวยากรณ์ด้านล่างเพื่อเปรียบเทียบสองสตริงโดยใช้ตัวดำเนินการความเท่าเทียมกันที่เข้มงวด:

str1 === str2 ;

ที่นี่ “ === ตัวดำเนินการ ” จะเปรียบเทียบค่าและประเภทข้อมูลของ str1 และ str2



ตัวอย่าง

ในตัวอย่างนี้ เราจะเปรียบเทียบสองสตริงที่หนึ่งเป็นตัวพิมพ์ใหญ่และอีกอันเป็นตัวพิมพ์เล็ก ในการทำเช่นนั้น ขั้นแรก เราจะสร้างตัวแปรสองตัวชื่อ “str1” และ “str2” ที่เก็บสตริง “ Linuxคำแนะนำ ' และ ' linuxhint ”:

เคยเป็น str1 = 'คำแนะนำลินุกซ์' ;
เคยเป็น str2 = 'ลินุกซ์' ;

จากนั้นโทรไปที่ “ console.log() ” วิธีพิมพ์ผลลัพธ์ที่บอกว่าสตริงเท่ากันหรือไม่โดยใช้ “ === ” โอเปอเรเตอร์:

คอนโซล บันทึก ( str1 === str2 ) ;

ผลลัพธ์แสดง “ เท็จ ” ซึ่งระบุว่าสตริงไม่เท่ากันเนื่องจากตัวดำเนินการความเท่าเทียมกันทำการเปรียบเทียบตามตัวพิมพ์เล็กและตัวพิมพ์ใหญ่:

หากคุณต้องการเปรียบเทียบระหว่างสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์ คุณต้องทำตามวิธีการด้านล่าง

วิธีที่ 2: เปรียบเทียบสองสตริงโดยใช้ localeCompare() Method

localeCompare() ” เป็นวิธีการที่กำหนดไว้ล่วงหน้าของ JavaScript ที่ใช้ในการเปรียบเทียบสองสตริง จะทำการเปรียบเทียบสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์ และใช้โลแคลปัจจุบันเพื่อเปรียบเทียบสองสตริง

ไวยากรณ์

ทำตามไวยากรณ์ที่กล่าวถึงด้านล่างเพื่อเปรียบเทียบสองสตริงโดยใช้วิธี localeCompare():

str1. localeCompare ( str2 ) ;

ที่นี่, ' str2 ” เป็นสตริงที่จะนำมาเปรียบเทียบกับ “ str1 ”:

ตัวอย่าง

ตอนนี้เราจะใช้สตริงเดียวกันกับที่สร้างไว้แล้วในตัวอย่างก่อนหน้านี้แล้วเปรียบเทียบโดยใช้ ' localeCompare() ” ด้วยความช่วยเหลือของตัวดำเนินการตามเงื่อนไข:

ถ้า ( str1. localeCompare ( str2 ) ) {
คอนโซล บันทึก ( 'str1 เท่ากับ str2' ) ;
} อื่น {
คอนโซล บันทึก ( 'str1 ไม่เท่ากับ str2' ) ;
}

ดังที่คุณเห็นว่าผลลัพธ์บ่งชี้ว่าสตริงเท่ากัน เนื่องจากวิธีการเปรียบเทียบการเปรียบเทียบที่ไม่คำนึงถึงขนาดตัวพิมพ์:

ไปที่วิธีถัดไปกันเถอะ!

วิธีที่ 3: เปรียบเทียบสองสตริงโดยใช้ RegExp ด้วยการทดสอบ () วิธี

มีอีกวิธีหนึ่งในการเปรียบเทียบสองสตริงที่ทำการเปรียบเทียบตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ที่เรียกว่า ' RegExp ” ด้วยความช่วยเหลือของ “ ทดสอบ() ' กระบวนการ. ตรวจสอบความเท่าเทียมกันของสตริงตาม regex ที่กำหนดไว้ เมธอด test() จะยอมรับสตริงเป็นอาร์กิวเมนต์สำหรับการเปรียบเทียบ

ไวยากรณ์

ทำตามไวยากรณ์ที่กำหนดสำหรับวิธีการทดสอบ () โดยใช้ RegEx ด้วยวิธีการทดสอบ ():

รูปแบบเร็ก. ทดสอบ ( str2 ) ;

ที่นี่, ' str2 ” เป็นสตริงที่จะนำมาเปรียบเทียบกับ “ regPattern ”:

ตัวอย่าง

ตอนนี้ เราจะสร้างอินสแตนซ์ของ RegExp โดยส่งสตริง “ str1 ” และ regex “ จิ ” ที่บ่งชี้การเปรียบเทียบตัวพิมพ์เล็กและตัวพิมพ์ใหญ่และเก็บไว้ในตัวแปร “ regPattern ”:

เคยเป็น regPattern = ใหม่ RegExp ( str1 , 'จิ' ) ;

หลังจากนั้นเราจะเรียก ทดสอบ() ” วิธีโดยการส่งสตริง “ str2 ” เป็นข้อโต้แย้ง

เคยเป็น ปี = รูปแบบเร็ก. ทดสอบ ( str2 ) ;

จากนั้น ใช้คำสั่งแบบมีเงื่อนไขเพื่อตรวจสอบว่าสตริงมีค่าเท่ากันหรือไม่:

ถ้า ( ปี ) {
คอนโซล บันทึก ( 'str1 เท่ากับ str2' ) ;
} อื่น {
คอนโซล บันทึก ( 'str1 ไม่เท่ากับ str2' ) ;
}

เอาท์พุต

หากคุณต้องการเปรียบเทียบสตริงกับสตริงอื่นเป็นสตริงย่อย คุณต้องปฏิบัติตามส่วนด้านล่าง

วิธีที่ 4: เปรียบเทียบสองสตริงโดยใช้ include() Method

ในการพิจารณาว่าสตริงนั้นเป็นสตริงย่อยของสตริงอื่นหรือไม่ JavaScript ให้วิธีการที่กำหนดไว้ล่วงหน้าที่เรียกว่า ' รวมถึง() ' กระบวนการ. ใช้สตริงเป็นอาร์กิวเมนต์และให้ค่าบูลีน ' จริง ” หากมีอยู่ในสตริง มิฉะนั้นจะส่งคืน ' เท็จ

ไวยากรณ์

ทำตามวิธีการด้านล่างที่ให้ไว้สำหรับการใช้วิธี include():

str1. รวมถึง ( str2 ) ;

ที่นี่, ' str2 ” เป็นสตริงที่ตรวจสอบว่ารวมอยู่หรือเป็นส่วนหนึ่งของ “ str1 ”:

ตัวอย่าง

ที่นี่ อันดับแรก เราจะสร้างสองสตริง “str1” และ “str2” และตรวจสอบว่าสตริงที่สองเป็นสตริงย่อยของสตริงแรกหรือไม่:

เคยเป็น str1 = 'คำแนะนำลินุกซ์' ;
เคยเป็น str2 = 'ใน' ;

สำหรับสิ่งนี้ ให้เรียก “includes()” method โดยผ่าน “str2” เป็นข้อโต้แย้ง:

คอนโซล บันทึก ( str1. รวมถึง ( str2 ) ) ;

ผลลัพธ์ให้ “ จริง ” ซึ่งแสดงว่า “ str2 ” เป็นส่วนหนึ่งของ “ str1 ”:

เราได้รวบรวมวิธีการทั้งหมดเพื่อเปรียบเทียบสตริง JavaScript สองสตริง

บทสรุป

สำหรับการเปรียบเทียบสตริง JavaScript สองสตริง คุณสามารถใช้เมธอด localeCompare() ตัวดำเนินการความเท่าเทียมกันที่เข้มงวด วิธี RegEx พร้อม test() หรือเมธอด include() ตัวดำเนินการความเท่าเทียมกันที่เข้มงวดจะทำการเปรียบเทียบตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ในขณะที่วิธี test() และวิธี localeCompare() จะทำการเปรียบเทียบตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ สุดท้าย เมธอด include() จะตรวจสอบสตริงเป็นสตริงย่อยในสตริงอื่น ในบทความนี้ เราสาธิตวิธีการเปรียบเทียบสองสตริงใน JavaScript กับตัวอย่างที่เหมาะสม