【发布时间】:2022-01-07 12:56:32
【问题描述】:
我的任务是按从另一个数组给出的特定顺序对随机数数组进行排序。所有其他无法排序的元素都应该放在结果数组的末尾:
const array = [6,1,2,3,4,5]
const sortOrder = [3,2,1]
const shouldSortTo = [3,2,1,6,4,5]
我有以下解决方案:
array.sort((a,b)=> {
if(sortOrder.indexOf(a) === -1 && sortOrder.indexOf(b) > -1 ) {
return 1
}
if(sortOrder.indexOf(a) > -1 && sortOrder.indexOf(b) === -1 ) {
return -1
}
return sortOrder.indexOf(a) - sortOrder.indexOf(b)
})
它有效,但我觉得它不容易阅读或理解。有更好或更短的方法吗?
【问题讨论】:
标签: javascript arrays sorting