Computer >> Máy Tính >  >> Lập trình >> Javascript

Viết một chương trình bằng JavaScript để kiểm tra xem hai chuỗi có phải là đảo ngữ của nhau hay không

Cho hai chuỗi ‘a’ và chuỗi ‘b’, chúng ta phải kiểm tra xem chúng có phải là đảo ngữ của nhau hay không và trả về True / False. Ví dụ:

Đầu vào-1 -

String a= “india”
String b= “nidia”

Đầu ra -

True

Giải thích - Vì chuỗi ‘b’ đã cho chứa tất cả các ký tự trong chuỗi ‘a’ nên chúng ta sẽ trả về giá trị True.

Đầu vào-2 -

String a= “hackathon”
String b= “achcthoon”

Đầu ra -

False

Giải thích - Vì chuỗi ‘b’ đã cho không có tất cả các ký tự như chuỗi ‘a’, do đó chúng tôi sẽ trả về False.

Phương pháp được sử dụng để giải quyết vấn đề này

Trong các chuỗi ‘a’ và ‘b’ đã cho, chúng tôi sẽ kiểm tra xem chúng có cùng độ dài hay không và sau đó chúng tôi sẽ sắp xếp các chuỗi. Nếu cả hai chuỗi đều bằng nhau, thì trả về "True"; nếu không, sau đó in "Sai".

  • Lấy đầu vào hai chuỗi ‘a’ và ‘b’

  • Một hàm checkStringAnagrams (chuỗi a, chuỗi b) sẽ trả về giá trị true nếu chúng là đảo chữ của nhau, ngược lại là false.

  • Tìm độ dài của cả hai chuỗi và kiểm tra xem chúng có giống nhau không.

  • Bây giờ, hãy sắp xếp cả hai chuỗi theo thứ tự từ vựng và kiểm tra xem chúng có bằng nhau hay không.

  • Trả về true hoặc false cho phù hợp.

Ví dụ

function checkStringsAnagram(a, b) {
   let len1 = a.length;
   let len2 = b.length;
   if(len1 !== len2){
      console.log('Invalid Input');
      return
   }
   let str1 = a.split('').sort().join('');
   let str2 = b.split('').sort().join('');
   if(str1 === str2){
      console.log("True");
   } else { 
      console.log("False");
   }
}
checkStringsAnagram("indian","ndiani")

Đầu ra

Chạy đoạn mã trên sẽ tạo ra kết quả là,

True

Vì chuỗi ‘indian’ có cùng một bộ ký tự như trong chuỗi khác ‘ndiani’, cả hai đều là đảo ngữ của nhau và do đó, chúng tôi sẽ trả về True.