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

JavaScript에서 배열 병합 및 수정

<시간/>

문제

첫 번째와 두 번째 인수로 두 개의 숫자 배열 arr1 및arr2를 사용하는 JavaScript 함수를 작성해야 합니다.

함수는 이 두 배열의 요소를 새 배열로 병합해야 하며 병합 시 또는 병합하기 전에 중복 항목이 있는 경우 초과 중복을 삭제하여 각 요소의 복사본 하나만 병합된 배열에 존재하도록 해야 합니다.

여기서 순서는 그다지 중요하지 않지만 요소의 빈도(각 요소에 대해 1이어야 함)가 중요합니다.

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

인 경우
onst arr1 = [6, 5, 2, 1, 8];
const arr2 = [3, 4, 6, 8, 9];

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

const output = [6, 5, 2, 1, 8, 3, 4, 9];

예시

다음은 코드입니다 -

const arr1 = [6, 5, 2, 1, 8];
const arr2 = [3, 4, 6, 8, 9];
const mergeAndRectify = (arr1 = [], arr2) => {
   const { length: len1 } = arr1;
   const { length: len2 } = arr2;
   const res = [];
   let curr = 0;
   for(let i = 0; i < len1+len2; i++){
      if(i >= len1){
         curr = i - len1;
         if(!res.includes(arr1[curr])){
            res.push(arr1[curr]);
         };
      }else{
         curr = i;
         if(!res.includes(arr2[curr])){
            res.push(arr2[curr]);
         };
      };
   };
   return res;
};
console.log(mergeAndRectify(arr1, arr2));

출력

다음은 콘솔 출력입니다 -

[ 3, 4, 6, 8, 9, 5, 2, 1 ]