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

JavaScript에서 문자열 uncamelizing

<시간/>

문자열을 첫 번째 인수로, 구분 기호를 두 번째 인수로 취하는 JavaScript 함수를 작성해야 합니다.

첫 번째 문자열은 camelCased 문자열로 보장됩니다. 함수는 두 번째 인수로 제공된 구분 기호로 단어를 구분하여 문자열의 대소문자를 변환해야 합니다.

예:

입력 문자열이 -

인 경우
const str = 'thisIsAString';
const separator = '_';

그런 다음 출력 문자열은 -

여야 합니다.
const output = 'this_is_a_string';

예시

다음은 코드입니다 -

const str = 'thisIsAString';
const separator = '_';
const separateCase = (str = '', separator = ' ') => {
   const arr = [];
   let left = 0, right = 0;
   for(let i = 0; i < str.length; i++){
      const el = str[i];
      const next = str[i + 1];
      if((el.toUpperCase() === el && el.toUpperCase() !== el.toLowerCase()) || !next){
         right = i + Number(!next);
      };
      if(left !== right){
         const sub = str.substring(left, right).toLowerCase();
         arr.push(sub);
         left = right;
      };
   };
   return arr.join(separator);
};
console.log(separateCase(str, separator));

출력

다음은 콘솔의 출력입니다 -

this_is_a_string