在 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 ]
廣告