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

Kiểm tra xem chúng ta có thể tạo string2 hay không bằng cách xóa một số ký tự khỏi string1 mà không cần sắp xếp lại các ký tự của bất kỳ chuỗi nào - JavaScript

Chúng tôi bắt buộc phải viết một hàm JavaScript có hai chuỗi, giả sử str1 và str2 làm đối số đầu tiên và thứ hai.

Hàm sẽ xác định xem chúng ta có thể tạo str2 hay không bằng cách xóa một số ký tự khỏi str1 mà không cần sắp xếp lại các ký tự của bất kỳ chuỗi nào.

Ví dụ -

Nếu hai chuỗi là -

const str1 = 'sjkfampeflef';
const str2 = 'sample';

Sau đó, kết quả đầu ra phải là true vì chúng ta có thể tạo str2 bằng cách xóa một số ký tự khỏi str1.

Ví dụ

Sau đây là mã -

const str1 = 'sjkfampeflef';
const str2 = 'sample';
const checkConvertibility = (str1 = '', str2 = '') => {
   if(!str1 || !str2){
      return false;
   };
   const strArr1 = str1.split('');
   const strArr2 = str2.split('');
   const shorter = strArr1.length < strArr2.length ? strArr1 : strArr2;
   const longer = strArr1.length < strArr2.length ? strArr2 : strArr1;
   for(let i = 0; i < shorter.length; i++){
      const el = shorter[i];
      const index = longer.indexOf(el);
      if(index !== -1){
         longer.splice(index, 1);
         continue;
      };
      return false;
   };
   return true;
};
console.log(checkConvertibility(str1, str2));

Đầu ra

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

true