我需要的,如下图所示,以我的数据通过一个特定的顺序进行排序。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