我需要按照以下特定顺序对我的数据进行排序。
const sortBy = ['b','a','c','e','d']
const data = ['a','d','e']
我知道如何按升序/降序排序
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
处理的方法?
data
项目是否保证在sortBy
数组中? - nnnnnn