在 JavaScript 中根據另一個數組對陣列進行排序
我們要求編寫一個排序函式,該函式根據另一個數組的內容對陣列進行排序。
例如,我們必須對原始陣列進行排序,以便以下 sortOrder 陣列中存在的元素顯示在原始陣列的開頭,並且所有其他元素保持其順序:
const originalArray = ['Apple', 'Cat', 'Fan', 'Goat', 'Van', 'Zebra']; const sortOrder = ['Zebra', 'Van'];
示例
const originalArray = ['Apple', 'Cat', 'Fan', 'Goat', 'Van', 'Zebra']; const sortOrder = ['Zebra', 'Van']; const sorter = (a, b) => { if(sortOrder.includes(a)){ return -1; }; if(sortOrder.includes(b)){ return 1; }; return 0; }; originalArray.sort(sorter); console.log(originalArray);
輸出
控制檯中輸出將是 -
[ 'Zebra', 'Van', 'Apple', 'Cat', 'Fan', 'Goat' ]
廣告