Javascript làm nổi bật sự khác biệt giữa 2 chuỗi

Điều thực tế tôi muốn làm là khi so sánh hai bảng dữ liệu, đặc biệt là sự khác biệt trong tập lệnh bảng và công thức cột.  

Ví dụ: So sánh các Bảng dữ liệu sẽ hiển thị nếu các tập lệnh bảng đã lưu khác nhau và liệt kê cả hai tập lệnh này, tôi có thể lưu vào một bảng với các chuỗi trong bảng ở các cột được phân tách, nhưng điều tôi muốn xem là vị trí của hai tập lệnh đó .   

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;

Javascript làm nổi bật sự khác biệt giữa 2 chuỗ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

Thí 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 str1 và str2 đượ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á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ác chuỗi giống nhau 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

Thí 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

Javascript làm nổi bật sự khác biệt giữa 2 chuỗi

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

Thí 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

Làm cách nào để tìm sự khác biệt giữa hai chuỗi trong JavaScript?

Có thể so sánh hai chuỗi trong Javascript để 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() . 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.

Làm cách nào để so sánh hai chuỗi trong điều kiện if trong JavaScript?

Cách so sánh chuỗi Sử dụng localeCompare . địa phươngSo sánh lợi nhuận. 1 nếu chuỗi1 lớn hơn (cao hơn theo thứ tự bảng chữ cái) so với chuỗi2. -1 nếu chuỗi1 nhỏ hơn (xếp theo thứ tự bảng chữ cái) so với chuỗi2.

Làm cách nào để so sánh các chuỗi JavaScript?

Cách so sánh các chuỗi trong JavaScript? .
Để 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 (===)
Để so sánh các chuỗi dựa trên độ dài của chúng, hãy sử dụng thuộc tính “độ dài” kết hợp với “Toán tử so sánh”

Làm cách nào để so sánh hai chuỗi ký tự theo ký tự trong JavaScript?

// Viết chương trình kiểm tra xem 2 mảng có kích thước giống nhau hay không và giữ giá trị giống nhau string1 = prompt("String 1?"); . chiều dài; . chiều dài; . charAt(i) == chuỗi2