Hai chuỗi trong Javascript có thể được so sánh để kiểm tra xem chúng có giống nhau hay không bằng cách sử dụng các phương thức khác nhau như toUpperCase[], localeCompare[], v.v. Chúng tôi cũng có thể so sánh hai chuỗi trong javascript bằng RegEx. Các toán tử như toán tử lớn hơn, nhỏ hơn hoặc đẳng thức để so sánh hai chuỗi
Phạm vi của Điều
Trong bài viết này, chúng ta sẽ tìm hiểu
- Cách so sánh hai chuỗi trong javascript
- Chúng ta sẽ tìm hiểu về các trường hợp sử dụng khi cần so sánh hai chuỗi trong javascript
- Chúng ta cũng sẽ tìm hiểu cách kiểm tra xem chuỗi đã cho có nằm trong chuỗi khác không
Giới thiệu
Hãy tưởng tượng chúng tôi đang triển khai xác thực đăng nhập cho một trang web. Trong trường hợp này, chúng tôi phải lấy tên người dùng nhập từ người dùng để kiểm tra xem tên người dùng đã nhập có giống với tên người dùng gốc của người dùng được lưu trữ trong cơ sở dữ liệu của chúng tôi không. Bây giờ, cách đơn giản nhất để làm điều đó là so sánh tên người dùng đã nhập với tên người dùng được lưu trữ trong cơ sở dữ liệu của chúng tôi;
Bây giờ, như chúng ta biết rằng đầu vào thường là các chuỗi. Như vậy, chúng ta cần so sánh hai chuỗi để thực hiện các công việc như trên. Bây giờ câu hỏi là 'Làm cách nào để so sánh hai chuỗi trong Javascript?'
Các phương pháp sau đây được sử dụng để so sánh hai chuỗi trong javascript
- Sử dụng toUpperCase[]
- Sử dụng RegEx
- Sử dụng localeCompare[]
Tất cả các phương pháp này đã được thảo luận chi tiết trong bài viết
So sánh chuỗi không phân biệt chữ hoa chữ thường
Hãy tưởng tượng chúng tôi đang lấy tên đầu vào từ người dùng và kiểm tra xem tên đó có trong cơ sở dữ liệu của chúng tôi không. Trong những trường hợp như vậy, hai chuỗi không nhất thiết phải bằng nhau, tôi. e. , các chuỗi có thể có một trường hợp khác nhau. Những tình huống như vậy được gọi là tình huống so sánh chuỗi không phân biệt chữ hoa chữ thường
Khi so sánh các chuỗi, phân biệt chữ hoa chữ thường có nghĩa là không tính đến chữ hoa và chữ thường. Phương thức toLowerCase[] và toUpperCase[] trong javascript được sử dụng để xác định so sánh phân biệt chữ hoa chữ thường của hai chuỗi trong javascript
Ví dụ
// Function to compare s1 and s2 function compareStrings[s1, s2]{ // This condition will return true only if s1 and s2 hold true from equality if[s1 == s2]{ return 'Both strings are equal'; } return 'Both strings are not equal'; } const str1 = 'Javascript'; const str2 = 'JavaScript'; const str3 = 'Javascript'; const str4 = 'Typescript' //Expected output: Both strings are equal console.log[compareStrings[str1.toUpperCase[], str2.toUpperCase[]]]; //Expected output: Both strings are equal console.log[compareStrings[str1.toLowerCase[], str3.toLowerCase[]]]; //Expected output: Both strings are not equal console.log[compareStrings[str1, str4]];
đầu ra
'Both strings are equal' 'Both strings are equal' 'Both strings are not equal'
Giải thích ví dụ
Trong ví dụ trên, khi so sánh str1 và str2 sau khi sử dụng phương thức toUpperCase, biểu thức JAVASCRIPT == JAVASCRIPT sẽ trả về true vì chúng là các chuỗi giống nhau sau khi cả hai đều viết hoa. Ở đây, toán tử đẳng thức [==] được sử dụng để kiểm tra xem cả hai chuỗi có giống nhau không
Trong trường hợp thứ hai, khi str1 và str3 được so sánh sau khi sử dụng phương thức toUpperCase, biểu thức javascript == javascript sẽ trả về true vì chúng là cùng một chuỗi sau khi cả hai đều ở dạng chữ thường
Trong trường hợp thứ ba, khi so sánh str1 và str4, biểu thức Javascript == Typescript sẽ trả về false vì Javascript và Typescript là các chuỗi khác nhau
So sánh độ dài của chuỗi JavaScript
Hãy tưởng tượng chúng tôi đã tạo một diễn đàn trực tuyến nơi chúng tôi đang nhận đánh giá từ người dùng. Bây giờ cần phải có giới hạn từ và chúng tôi phải gửi tin nhắn do người dùng tùy chỉnh dựa trên nếu người dùng vượt qua giới hạn từ. Bây giờ, để làm điều này, chúng ta cần so sánh hai
Để so sánh hai chuỗi dựa trên độ dài của chúng, chúng ta cần tìm độ dài của hai chuỗi và so sánh chúng bằng toán tử lớn hơn hoặc nhỏ hơn
Làm cách nào để tìm độ dài của chuỗi trong javascript?
- chuỗi. thuộc tính độ dài được sử dụng để tìm độ dài của chuỗi trong javascript. Nó trả về một số, bằng với độ dài của chuỗi đã cho
Ví dụ
let str = 'Javascript'; console.log[str.length]; //It will output: 10
Một cách khác để tìm độ dài của chuỗi là tìm lặp đi lặp lại. Chúng ta có thể chạy một vòng lặp trên một chuỗi và đếm số lần lặp lại trong đó
Ví dụ
Bây giờ chúng ta có thể so sánh các chuỗi này theo độ dài của chúng. Nếu độ dài của một chuỗi lớn hơn độ dài của chuỗi khác mà nó đang được so sánh, điều kiện của chúng tôi sẽ trả về true, ngược lại, điều kiện của chúng tôi sẽ trả về false
Ví dụ
// Function to compare str1 and str2 function example[s1, s2]{ //This will compare if length of s1 is greater than s2 if[s1.length > s2.length]{ return `String a is greater than string b`; }else{ return `String b is greater than string a`; } } const str1 = 'Javascript'; const str2 = 'Python'; const str3 = 'ReactJS' //Expected output: 'String a is greater than string b' console.log[example[str1, str2]]; //Expected output: 'String b is greater than string a' console.log[example[str2, str3]];
đầu ra
'String a is greater than string b' 'String b is greater than string a'
Giải thích ví dụ
Trong ví dụ trên, độ dài của str1, str2 và str3 lần lượt là 10, 6 và 7
Trong trường hợp đầu tiên, biểu thức s1. chiều dài > s2. độ dài sẽ trả về true, do đó, ví dụ [str1, str2] sẽ trả về 'Chuỗi a lớn hơn chuỗi b'
Tương tự, trong trường hợp thứ hai, biểu thức s1. chiều dài > s2. độ dài sẽ trả về false, do đó, ví dụ [str2, str3] sẽ trả về 'Chuỗi b lớn hơn chuỗi a'
Kiểm tra xem một chuỗi có chứa một chuỗi khác không
Phương thức bao gồm trong javascript được sử dụng để kiểm tra xem chuỗi đã cho có nằm trong chuỗi khác không
Ghi chú. Nếu một chuỗi hiện diện bên trong một chuỗi khác trong javascript, nó được gọi là chuỗi con của chuỗi
Sơ đồ sau mô tả hoạt động của phương thức bao gồm trong javascript
cú pháp
Ở đây chúng tôi đang kiểm tra xem str2 có trong str1 không
Thông số
- str. Một chuỗi phải được kiểm tra nếu nó hiện diện bên trong một chuỗi khác
Giá trị trả về
- boolean. Nếu trả về true nếu str2 có trong str1 nếu không nó trả về false
ngoại lệ
Phương thức bao gồm trong javascript phân biệt chữ hoa chữ thường, do đó, nó sẽ trả về false nếu trường hợp của chuỗi con không khớp với tham số đã truyền
console.log['Programming language'.includes['programming'] ] // returns false console.log['Programming language'.includes['Programming'] ] // returns true
Ví dụ
// Declaring strings const s1 = 'Javascript is a programming language widely used for web development.'; const s2 = 'Python'; const s3 = 'Javascript' console.log[s1.includes[s3]]; //Expected output: true console.log[s2.includes[s3]]; //Expected output: false
đầu ra
Giải thích ví dụ
Trong ví dụ trên, s1. bao gồm [s3] sẽ trả về true vì 'Javascript' có trong s1, trong khi s2. bao gồm [s3] sẽ trả về false vì 'Javascript' có trong s2
ví dụ
So sánh chuỗi JavaScript bằng toUpperCase[]
Như đã thảo luận trước đó, Phương thức toUpperCase[] được sử dụng để trả về giá trị chuỗi gọi được chuyển đổi thành chữ hoa
// js program to perform string comparison const string1 = 'JavaScript Program'; const string2 = 'javascript program'; // compare both strings const result = string1.toUpperCase[] === string2.toUpperCase[]; if[result] { console.log['The strings are similar.']; } else { console.log['The strings are not similar.']; }
đầu ra
Giải thích ví dụ
Trong ví dụ trên, chúng tôi đã thay đổi trường hợp của chuỗi1 và chuỗi2 thành chữ hoa. Bây giờ chúng ta sẽ sử dụng toán tử đẳng thức nghiêm ngặt để so sánh cả hai chuỗi và trả về kết quả
So sánh chuỗi JavaScript bằng RegEx
Trong Javascript, biểu thức chính quy là các mẫu được sử dụng để so khớp các tổ hợp ký tự trong chuỗi javascript
________số 8đầu ra
Giải thích ví dụ
Trong ví dụ trên, chúng tôi đang sử dụng RegEx cùng với phương thức test[] để thực hiện so sánh chuỗi không phân biệt chữ hoa chữ thường
Trong mẫu RegEx, cú pháp "g" biểu thị toàn cầu và cú pháp "gi" biểu thị so sánh không phân biệt chữ hoa chữ thường
So sánh chuỗi JavaScript bằng phương thức String localeCompare[]
Phương thức localeCompare[] trả về một số cho biết liệu một chuỗi tham chiếu có trước, sau hay giống với chuỗi đã cho theo thứ tự sắp xếp
// program to perform case-insensitive string comparison const string1 = 'JavaScript Program'; const string2 = 'javascript program'; const result = string1.localeCompare[string2, undefined, { sensitivity: 'base' }]; if[result == 0] { console.log['The strings are similar.']; } else { console.log['The strings are not similar.']; }
đầu ra
Giải thích ví dụ. Trong trường hợp trên, phương thức localCompare[] trả về 0, vì vậy giá trị của kết quả trở thành 0, do đó đầu ra ở trên được in
Chúng ta có thể sử dụng == để so sánh các chuỗi trong JavaScript không?
Trong JavaScript, các chuỗi có thể được so sánh dựa trên thứ tự “giá trị”, “kiểu hoa chữ thường”, “độ dài” hoặc “bảng chữ cái” của chúng. Để so sánh các chuỗi dựa trên giá trị và kiểu chữ của chúng, hãy sử dụng Toán tử đẳng thức nghiêm ngặt [===]Làm cách nào để khớp hai chuỗi trong JavaScript?
Phương thức localeCompare[] so sánh hai chuỗi trong miền địa phương hiện tại. Phương thức localeCompare[] trả về thứ tự sắp xếp -1, 1 hoặc 0 [cho trước, sau hoặc bằng]Bạn có thể sử dụng. = Để so sánh các chuỗi?
Ghi chú. Khi so sánh hai chuỗi trong java, ta không nên dùng dấu == hoặc. = toán tử . Các toán tử này thực sự kiểm tra các tham chiếu và vì nhiều đối tượng Chuỗi có thể biểu thị cùng một Chuỗi, nên điều này có thể đưa ra câu trả lời sai. Thay vào đó, hãy sử dụng Chuỗi.Làm cách nào để so sánh hai câu trong JavaScript?
Để so sánh hai chuỗi trong JavaScript, hãy sử dụng phương thức localeCompare[] . Phương thức trả về 0 nếu cả hai chuỗi bằng nhau, -1 nếu chuỗi 1 được sắp xếp trước chuỗi 2 và 1 nếu chuỗi 2 được sắp xếp trước chuỗi 1.