Preloader Close

在JavaScript中实现优先级排序

我们需要编写一个JavaScript函数,该函数接受两个数字数组,第二个数组的大小小于第一个。

我们的函数应该是第一个数组的排序版本(按升序排列),但是将两个数组中共有的所有元素放在最前面。

例如-如果两个数组是-

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

那么输出应该是-

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

示例

以下是代码-

const arr1 = [5, 4, 3, 2, 1]; const arr2 = [2, 3]; //辅助功能 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);

输出结果

以下是控制台中的输出-

[ 2, 3, 1, 4, 5 ]