Làm cách nào để kiểm tra sự giống nhau của các chuỗi trong JavaScript?

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.

Chủ Đề