Làm cách nào để so sánh hai chuỗi trong JavaScript?
Trong bài viết này, chúng ta sẽ biết cách tối ưu để so sánh các chuỗi bằng các phương thức Javascript tích hợp & sẽ thấy cách triển khai của chúng thông qua các ví dụ. Câu hỏi là so sánh 2 chuỗi JavaScript một cách tối ưu. Để làm như vậy, đây là một số kỹ thuật được sử dụng nhiều nhất được thảo luận. Phương pháp thảo luận dưới đây được sử dụng trong các ví dụ sau. Show Phương thức chuỗi localeCompare(). Phương pháp này so sánh hai chuỗi trong miền địa phương hiện tại. Ngôn ngữ hiện tại dựa trên cài đặt ngôn ngữ của trình duyệt. Phương thức này trả về một số cho biết liệu chuỗi có trước, sau hay bằng với chuỗi so sánh theo thứ tự sắp xếp cú pháp string.localeCompare(String_2); Thông số
Vui lòng tham khảo bài viết Tham khảo đầy đủ về toán tử JavaScript để biết thêm chi tiết về toán tử ví dụ 1. Ví dụ này so sánh 2 chuỗi bằng phương thức localeCompare() và trả về 0, -1 hoặc 1. Phương pháp này so sánh phân biệt chữ hoa chữ thường HTML8 9 0____31
9 3 1 5 9 80 81 80 1 84____33____31
9 88 89 90 91 92 90 94 1 5 9 98 89 90 01 02 03 04 05 84____298 08 5 9 11 12 90 14 92 90 38 18 90 11 1 Vì 0 và 1 có cùng ký tự, nên chúng bằng nhau khi bạn so sánh chúng bằng toán tử 2
Xem xét ví dụ sau
Trong ví dụ này, 0 và 1 giống nhau. Nhưng so sánh s1 === s2 đánh giá là 5 Để hiểu cách thức hoạt động của nó, trước tiên bạn cần biết khái niệm về biểu đồ và kết hợp các ký tự đồ thị là gìMột grapheme là đơn vị chức năng nhỏ nhất của một hệ thống chữ viết Ví dụ: chuỗi 6 có bốn chữ cái. 7, 8, 9 và 0 (hoặc 1 với 2). Cách bạn xem mỗi ký tự là một đơn vị viết được gọi là grapheme Và một số biểu đồ có thể được biểu diễn bằng các chuỗi ký tự khác nhau Có một số ký tự khi bạn đặt chúng sau một ký tự, nó sẽ thay đổi ký tự trước đó. Các ký tự này được gọi là các ký tự kết hợp Ký tự kết hợp là gìKý tự kết hợp là ký tự áp dụng cho ký tự cơ sở tiền lệ để tạo biểu đồ Trong ví dụ của chúng ta, 0 là một grapheme nguyên tử. Và bạn có thể mã hóa nó bằng chữ thường 1 (ký tự cơ bản) và ký tự kết hợp (◌́) 8 Trong JavaScript, ký tự é được biểu diễn như sau 9 Trong ví dụ này, 5 là chuỗi thoát Unicode của ký tự kết hợp ◌́ Ngoài ra, bạn có thể mã hóa cùng một biểu đồ é bằng cách sử dụng chữ thường 1 với ký tự cấp tính 2 Bây giờ, nếu bạn so sánh 7 và 8 của cùng một biểu đồ 0, bạn sẽ thấy rằng chúng không bằng nhau 6 Để so sánh các chuỗi này một cách an toàn, bạn sử dụng phương pháp 80. Phương thức này trả về dạng chuẩn hóa Unicode của một chuỗi. Ví dụ Làm cách nào để so sánh hai chuỗi bằng JavaScript?Phương thức localeCompare() so sánh hai chuỗi ở ngôn 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). Ngôn ngữ hiện tại dựa trên cài đặt ngôn ngữ của trình duyệt.
Làm cách nào để kiểm tra xem hai chuỗi có giống nhau trong JavaScript không?ví dụ 1. Sử dụng toUpperCase()
. === được sử dụng để kiểm tra xem cả hai chuỗi có giống nhau không
Chúng ta có thể sử dụng == để so sánh chuỗi không?Bạn không nên sử dụng == (toán tử đẳng thức) để so sánh các chuỗi này vì chúng so sánh tham chiếu của chuỗi, i. e. liệu chúng có phải là cùng một đối tượng hay không. Mặt khác, phương thức equals() so sánh xem giá trị của các chuỗi có bằng nhau hay không và không phải chính đối tượng.
Làm cách nào để so sánh hai chuỗi trong JavaScript có phân biệt chữ hoa chữ thường?"Toán tử đẳng thức nghiêm ngặt (===)" được sử dụng để so sánh các chuỗi dựa trên giá trị và kiểu chữ của chúng . Sử dụng "toán tử so sánh" cùng với thuộc tính "độ dài" để so sánh các chuỗi dựa trên độ dài của chúng. Sử dụng phương thức "localCompare()", bạn có thể so sánh các chuỗi dựa trên thứ tự bảng chữ cái. |