我需要的,如下圖所示,以我的數據通過一個特定的順序進行排序。JS排序特定的排序順序
const sortBy = ['b','a','c','e','d']
const data = ['a','d','e']
我知道如何asscending排序/降序
console.log(data.sort((a, b) => a > b)) //["a", "d", "e"]
console.log(data.sort((a, b) => a < b)) //["e", "d", "a"]
但使用.sort
以特定的順序來排序這可能嗎? 例如低於我想要的順序是sortBy
我目前通過在我的排序數組和我的數據之間創建一個常用項目數組來獲得這個工作。
const commonItems = getCommonItemsInArrays(sortBy,data)
console.log(commonItems.map(item => item)) //["a", "e", "d"]
function getCommonItemsInArrays(array1,array2){
return array1.filter(n => array2.indexOf(n) >= 0)
}
這似乎是工作好,但我不知道是否有辦法通過sort
來處理呢?
*「我知道如何asscending排序/降」 * - 你確定嗎?排序回調不應該返回一個布爾值......總之,都是'data'物品,保證是'sortBy'陣列? – nnnnnn