So sánh chuỗi từ điển javascript

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ể sử dụng phương thức

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

const compareValue = string1.localeCompare(string2)
// -1
6 để so sánh hai chuỗi ở ngôn ngữ hiện tại. Đây là cú pháp

string1.localeCompare(string2)

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

const compareValue = string1.localeCompare(string2)
// -1
7 trả lại

  • 1 nếu
    const string1 = "hello"
    const string2 = "world"
    
    const compareValue = string1.localeCompare(string2)
    // -1
    
    8 lớn hơn (cao hơn theo thứ tự bảng chữ cái) so với
    const string1 = "hello"
    const string2 = "world"
    
    const compareValue = string1.localeCompare(string2)
    // -1
    
    0
  • -1 nếu
    const string1 = "hello"
    const string2 = "world"
    
    const compareValue = string1.localeCompare(string2)
    // -1
    
    8 nhỏ hơn (thấp hơn theo thứ tự bảng chữ cái) so với
    const string1 = "hello"
    const string2 = "world"
    
    const compareValue = string1.localeCompare(string2)
    // -1
    
    0
  • 0 nếu
    const string1 = "hello"
    const string2 = "world"
    
    const compareValue = string1.localeCompare(string2)
    // -1
    
    8 và
    const string1 = "hello"
    const string2 = "world"
    
    const compareValue = string1.localeCompare(string2)
    // -1
    
    0 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ó cung cấp cho

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

const compareValue = string1.localeCompare(string2)
// -1
5 bởi vì, trong ngôn ngữ tiếng Anh, h trong hello đứng trước w trong 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

Sự so sánh ở trên cho kết quả

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

const compareValue = string1.localeCompare(string2)
// -1
6 bởi vì, trong tiếng Anh, ban trong banana đứng sau bac trong back

Một ví dụ nữa

________số 8

So sánh "fcc" và "fcc" cho

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

const compareValue = string1.localeCompare(string2)
// -1
7 vì chúng bằng nhau về thứ tự. "fcc" và "Fcc" cho _______15 vì chữ "F" hoa lớn hơn chữ "f" nhỏ

Trong một số trình duyệt, thay vì -1, nó có thể trả về -2 hoặc một số giá trị âm khác. Vì vậy, không phụ thuộc vào -1 hoặc 1, thay 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 (>), nhỏ 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ư

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

const compareValue = string1.localeCompare(string2)
// -1
6 – 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"

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

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

const compareValue = string1.localeCompare(string2)
// -1
8 không lớn hơn
const string1 = "hello"
const string2 = "world"

const compareValue = string1.localeCompare(string2)
// -1
0, vì h đứng trước w nên nhỏ hơn

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

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

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

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

const compareValue = string1.localeCompare(string2)
// -1
8 lớn hơn
const string1 = "hello"
const string2 = "world"

const compareValue = string1.localeCompare(string2)
// -1
0 vì lệnh cấm đứng sau back

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

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

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

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

const compareValue = string1.localeCompare(string2)
// -1
8 bằng (________ 65) ________ 10, nhưng
const string1 = "hello"
const string2 = "world"

const compareValue = string1.localeCompare(string2)
// -1
8 không nhỏ hơn ________ 68, điều này trái ngược với
const string1 = "hello"
const string2 = "world"

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

Với toán tử toán học, "fcc" lớn hơn "Fcc", nhưng với

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

const compareValue = string1.localeCompare(string2)
// -1
6,
const string1 = "fcc"
const string2 = "fcc"
const string3 = "Fcc"

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

const compareValue2 = string1.localeCompare(string3)
// -1
1 trả về
const string1 = "hello"
const string2 = "world"

const compareValue = string1.localeCompare(string2)
// -1
5 để cho thấy 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

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ì

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

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

const compareValue2 = string1.localeCompare(string3)
// -1
3 và
const string1 = "fcc"
const string2 = "fcc"
const string3 = "Fcc"

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

const compareValue2 = string1.localeCompare(string3)
// -1
4 là
const string1 = "fcc"
const string2 = "fcc"
const string3 = "Fcc"

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

const compareValue2 = string1.localeCompare(string3)
// -1
5. "fcc" bằng "fcc". Vì vậy, nếu bạn phụ thuộc vào các toán tử, việc nhận được
const string1 = "fcc"
const string2 = "fcc"
const string3 = "Fcc"

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

const compareValue2 = string1.localeCompare(string3)
// -1
5 có thể vì những lý do khác với những gì bạn nghĩ

Vì vậy, để so sánh các chuỗi, trong số nhiều cách có thể có, sử dụng

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

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

const compareValue2 = string1.localeCompare(string3)
// -1
7 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. Mã hóa vui vẻ

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


So sánh chuỗi từ điển javascript
Dillion Megida

Người ủng hộ nhà phát triển và Người sáng tạo nội dung đam mê chia sẻ kiến ​​thức của tôi về Công nghệ. Tôi dạy JavaScript / ReactJS / NodeJS / React Frameworks / TypeScript / et al


Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu