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

JavaScript의 문자열 배열에서 주석 제거

<시간/>

문제

문자열 배열 arr을 첫 번째 인수로, 특수 문자 배열 starters를 두 번째 인수로 취하는 JavaScript 함수를 작성해야 합니다.

시작 배열에는 주석을 시작할 수 있는 문자가 포함되어 있습니다. 함수는 배열을 통해 반복하고 문자열에 포함된 모든 주석을 제거해야 합니다.

예를 들어, 함수에 대한 입력이 다음과 같은 경우:

const arr = [
   'red, green !blue',
   'jasmine, #pink, cyan'
];
const starters = ['!', '#'];

그러면 출력은 다음과 같아야 합니다. -

const output= [
   'red, green',
   'jasmine,'
];

예시

다음은 코드입니다 -

const arr = [
   'red, green !blue',
   'jasmine, #pink, cyan'
];
const starters = ['!', '#'];
const removeComments = (arr = [], starters = []) => {
   const res = [];
   for(let i = 0; i < arr.length; i++){
      let str = ''
      let flag = true
      for (let x of arr[i]) {
         if (starters.includes(x)) {
            flag = false
            str = str.replace(/\s+$/, '')
         } else if (x === '\n') {
            flag = true
         }
         if (flag) str += x
      };
      res.push(str);
   }
   return res;
};
console.log(removeComments(arr, starters));

출력

다음은 콘솔 출력입니다 -

[ 'red, green', 'jasmine,' ]