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

Triển khai Sắp xếp Ưu tiên trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript có hai mảng số, mảng thứ hai có kích thước nhỏ hơn mảng thứ nhất.

Hàm của chúng ta phải là phiên bản được sắp xếp của mảng đầu tiên (giả sử theo thứ tự tăng dần) nhưng đặt tất cả các phần tử chung trong cả hai mảng lên trước.

Ví dụ - Nếu hai mảng là -

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

Sau đó, đầu ra phải là -

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

Ví dụ

Sau đây là mã -

const arr1 = [5, 4, 3, 2, 1];
const arr2 = [2, 3];
// helper function
const sorter = (a, b, arr) => {
   if(arr.includes(a)){
      return -1;
   };
   if(arr.includes(b)){
      return 1;
   };
   return a - b;
};
const prioritySort = (arr1, arr2) => {
   arr1.sort((a, b) => sorter(a, b, arr2));
};
prioritySort(arr1, arr2);
console.log(arr1);

Đầu ra

Sau đây là đầu ra trong bảng điều khiển -

[ 2, 3, 1, 4, 5 ]