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

Chuỗi thứ hai có phải là phiên bản xoay vòng của chuỗi JavaScript đầu tiên không

Chúng tôi được yêu cầu viết một hàm JavaScript có hai chuỗi, chẳng hạn như str1 và str2. Chúng tôi được yêu cầu xác định xem chuỗi thứ hai có phải là phiên bản xoay của chuỗi đầu tiên hay không.

Ví dụ:Nếu các chuỗi đầu vào là -

const str1 = 'abcde';
const str2 = 'cdeab';

Sau đó, kết quả đầu ra phải là true vì str2 thực sự được tạo ra bằng cách chuyển 'ab' đến cuối chuỗi trong str1.

Ví dụ

const str1 = 'abcde';
const str2 = 'cdeab';
const isRotated = (str1, str2) => {
   if(str1.length !== str2.length){
      return false
   };
   if( (str1.length || str2.length) === 0){
       return true
   };
   for(let i = 0; i < str1.length; i++){
      const reversed = str1.slice(i).concat(str1.slice(0, i));
      if(reversed === str2){
         return true
      };
   }
   return false;
};
console.log(isRotated(str1, str2));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

true