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

JavaScript를 사용하여 두 개의 정렬된 배열을 하나의 정렬된 배열로 병합

<시간/>

문제

두 개의 정렬된 숫자 배열을 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 두 배열의 모든 요소를 ​​새 배열로 병합하고 동일한 순서로 정렬된 새 배열을 반환해야 합니다.

예시

다음은 코드입니다 -

const arr1 = [1, 3, 4, 5, 6, 8];
const arr2 = [4, 6, 8, 9, 11];
const mergeSortedArrays = (arr1 = [], arr2 = []) => {
   const res = [];
   let i = 0;
   let j = 0;
   while(i < arr1.length && j < arr2.length){
      if(arr1[i] < arr2[j]){
         res.push(arr1[i]);
         i++;
      }else{
         res.push(arr2[j]);
         j++;
      }
   };
   while(i < arr1.length){
      res.push(arr1[i]);
      i++;
   };
   while(j < arr2.length){
      res.push(arr2[j]);
      j++;
   };
   return res;
};
console.log(mergeSortedArrays(arr1, arr2));

출력

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