Computer >> Máy Tính >  >> Lập trình >> Javascript

Hợp nhất các mảng đã sắp xếp với nhau JavaScript

Giả sử chúng ta có hai mảng được sắp xếp (thứ tự tăng dần) như thế này -

const arr1 = [1, 2, 3, 0, 0, 0];
const arr2 = [2, 5, 6];

Chúng tôi được yêu cầu viết một hàm JavaScript nhận trong hai mảng như vậy và trả về một mảng mới chứa tất cả các phần tử từ các mảng này theo cách được sắp xếp.

Do đó, đối với các mảng ở trên, kết quả đầu ra sẽ giống như -

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

Ví dụ

const arr1 = [1, 2, 3, 0, 0, 0];
const arr2 = [2, 5, 6];
const mergeSortedArrays = (arr1, arr2) => {
   let { length: l1 } = arr1;
   let { length: l2 } = arr2;
   while(l2){
      arr1[l1++] = arr2[--l2];
   };
   const sorter = (a, b) => a - b;
   arr1.sort(sorter);
};
mergeSortedArrays(arr1, arr2);
console.log(arr1);

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

[
   0, 0, 0, 1, 2,
   2, 3, 5, 6
]