Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

문자열의 문자를 재정렬하지 않고 string1에서 일부 문자를 삭제하여 string2를 형성할 수 있는지 확인 - JavaScript

<시간/>

첫 번째와 두 번째 인수로 str1과 str2를 가정해 봅시다. 두 개의 문자열을 받는 JavaScript 함수를 작성해야 합니다.

함수는 문자열의 문자를 재정렬하지 않고 str1에서 일부 문자를 삭제하여 str2를 형성할 수 있는지 여부를 결정해야 합니다.

예:

두 문자열이 -

인 경우
const str1 = 'sjkfampeflef';
const str2 = 'sample';

그러면 str1에서 일부 문자를 삭제하여 str2를 형성할 수 있으므로 출력은 true여야 합니다.

예시

다음은 코드입니다 -

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));

출력

콘솔의 출력은 -

true