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

재귀를 사용하여 JavaScript의 배열에서 연속적인 중복 항목 제거

<시간/>

숫자/문자열 리터럴의 배열을 취하는 함수를 작성해야 합니다. 이 함수는 추가 메모리 공간을 사용하지 않고 배열의 모든 중복 연속 요소를 제거해야 합니다.

예를 들어, 입력 배열이 -

인 경우
const arr = [17, 17, 17, 12, 12, 354, 354, 1, 1, 1];

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

const output = [17, 12, 354, 1];

따라서 이 함수의 코드를 작성해 보겠습니다 -

예시

이에 대한 코드는 -

const arr = [17, 17, 17, 12, 12, 354, 354, 1, 1, 1];
const comp = (arr, len = 0, deletable = false) => {
   if(len < arr.length){
      if(deletable){
         arr.splice(len, 1);
         len--;
      }
      return comp(arr, len+1, arr[len] === arr[len+1])
   };
   return;
};
comp(arr);
console.log(arr);

출력

콘솔의 출력은 다음과 같습니다. -

[ 17, 12, 354, 1 ]