在 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]; // 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);
输出
以下是在控制台中的输出 −
[ 2, 3, 1, 4, 5 ]
广告