HomeLập trìnhJavaScriptSo sánh chuỗi...

So sánh chuỗi JavaScript – Cách so sánh chuỗi trong JS


Bạn có thể muốn so sánh hai chuỗi để biết chuỗi nào cao hơn hoặc thấp hơn theo thứ tự bảng chữ cái hoặc để xem chúng có bằng nhau không.

Bạn có thể làm điều này theo nhiều cách. Tôi sẽ cho bạn thấy hai trong số họ trong bài viết này.

1. Cách so sánh các chuỗi bằng localeCompare

Bạn có thể dùng localeCompare phương pháp để so sánh hai chuỗi trong miền địa phương hiện tại. Đây là cú pháp:

string1.localeCompare(string2)

locaelCompare trả lại:

  • 1 nếu string1 lớn hơn (cao hơn theo thứ tự bảng chữ cái) so với string2
  • -1 nếu string1 nhỏ hơn (thấp hơn theo thứ tự bảng chữ cái) so với string2
  • 0 nếu string1string2 bằng nhau theo thứ tự bảng chữ cái

Dưới đây là một số ví dụ so sánh hai chuỗi:

const string1 = "hello"
const string2 = "world"

const compareValue = string1.localeCompare(string2)
// -1

nó cho -1 bởi vì, trong ngôn ngữ tiếng Anh, h trong lời chào đến trước w trên thế giới (w thấp hơn theo thứ tự bảng chữ cái so với h)

Một vi dụ khac:

const string1 = "banana"
const string2 = "back"

const compareValue = string1.localeCompare(string2)
// 1

So sánh trên cho 1 bởi vì, trong tiếng Anh, baN trong chuối đến sau bac ở phía sau.

Một ví dụ nữa:

const string1 = "fcc"
const string2 = "fcc"
const string3 = "Fcc"

const compareValue1 = string1.localeCompare(string2)
// 0

const compareValue2 = string1.localeCompare(string3)
// -1

So sánh “fcc” và “fcc” mang lại vì chúng có thứ tự bằng nhau. “fcc” và “Fcc” mang lại -1 bởi vì chữ “F” viết hoa lớn hơn chữ “f” nhỏ.

Đọc thêm  Kiểm tra xem một Mục có nằm trong Mảng trong JavaScript hay không – JS Chứa với Array.includes()

Trong một số trình duyệt, thay vì -1nó có thể trở lại -2 hoặc một số giá trị âm khác. Vì vậy, không phụ thuộc vào -1 hoặc 1thay vào đó là các giá trị âm (nhỏ hơn 0) hoặc dương (lớn hơn 0)

2. Cách so sánh các chuỗi bằng toán tử toán học

Bạn cũng có thể sử dụng các toán tử toán học như lớn hơn (>), ít hơn (<) và bằng khi so sánh các chuỗi.

Các toán tử toán học hoạt động tương tự như localeCompare – bằng cách trả về kết quả dựa trên thứ tự của các ký tự trong chuỗi.

Sử dụng các ví dụ trước:

const string1 = "hello"
const string2 = "world"

console.log(string1 > string2)
// false

string1 không lớn hơn string2bởi vì h đến trước wvì vậy nó nhỏ hơn

Đối với ví dụ khác:

const string1 = "banana"
const string2 = "back"

console.log(string1 > string2)
// true

string1 lớn hơn string2 bởi vì baN đến sau back.

Và ví dụ cuối cùng:

const string1 = "fcc"
const string2 = "fcc"
const string3 = "Fcc"

console.log(string1 === string2)
// true

console.log(string1 < string3)
// false

string1 bằng (===) string2nhưng string1 không nhỏ hơn string3trái ngược với localeCompare.

Với toán tử toán học, “fcc” lớn hơn “Fcc”, nhưng với localeCompare, "fcc".localeCompare("Fcc")" lợi nhuận -1 để chỉ ra rằng “fcc” nhỏ hơn “Fcc”.

Hành vi này là một lý do tại sao tôi không khuyên bạn nên sử dụng các toán tử toán học để so sánh các chuỗi, mặc dù nó có khả năng làm như vậy.

Đọc thêm  Giá trị giả trong JavaScript

Một lý do khác khiến tôi không khuyên bạn nên sử dụng các toán tử toán học là vì "fcc" > "fcc""fcc" < "fcc"false. “fcc” bằng “fcc”. Vì vậy, nếu bạn phụ thuộc vào toán tử toán học, nhận false có thể vì những lý do khác với bạn tin.

Vì vậy, để so sánh các chuỗi, trong số nhiều cách có thể có, sử dụng localCompare là một cách tiếp cận hiệu quả vì nó có thể được sử dụng cho các ngôn ngữ khác nhau.

Bây giờ bạn đã biết một cách dễ dàng để so sánh các chuỗi. Chúc mừng mã hóa!



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status