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

JavaScript에서 문자열의 문자 재그룹화

<시간/>

문제

문자열 str을 첫 번째이자 유일한 인수로 취하는 JavaScript 함수를 작성해야 합니다.

문자열 str은 세 가지 유형의 문자를 포함할 수 있습니다. -

  • 영어 알파벳:(A-Z), (a-z)

  • 숫자:0-9

  • 특수 문자 - 나머지 모든 문자

우리의 함수는 이 문자열을 반복하고 정확히 3개의 요소로 구성된 배열을 구성해야 합니다. 첫 번째는 문자열에 있는 모든 알파벳을 포함하고, 두 번째는 숫자를 포함하고, 세 번째는 특수 문자가 문자의 상대적 순서를 유지합니다. 마침내 이 배열을 반환해야 합니다.

예를 들어 함수에 대한 입력이

인 경우

입력

const str = 'thi!1s is S@me23';

출력

const output = [ 'thisisSme', '123', '! @' ];

예시

다음은 코드입니다 -

const str = 'thi!1s is S@me23';
const regroupString = (str = '') => {
   const res = ['', '', ''];
   const alpha = 'abcdefghijklmnopqrstuvwxyz';
   const numerals = '0123456789';
   for(let i = 0; i < str.length; i++){
      const el = str[i];
      if(alpha.includes(el) || alpha.includes(el.toLowerCase())){
         res[0] += el;
         continue;
      };
      if(numerals.includes(el)){
         res[1] += el;
         continue;
      };
      res[2] += el;
   };
   return res;
};
console.log(regroupString(str));

출력

[ 'thisisSme', '123', '! @' ]