假设我有这样的层次结构:
0 King
1 Queen
2 Tower
3 Bishop
4 Knight
5 Pawn
以及一个包含以下元素的数组:
array = [Tower, Pawn, Bishop, Queen]
如何按照层次结构对其进行排序?
array = [Queen, Tower, Bishop, Pawn]
最佳答案
创建一个定义层次结构的对象:
const hierarchyMap = {
King: 0,
Queen: 1,
Tower: 2,
Bishop: 3,
Knight: 4,
Pawn: 5,
}
然后根据层次结构值对数组进行排序:
array.sort((first, second) => hierarchyMap[first] - hierarchyMap[second]);
反之亦然:
array.sort((first, second) => hierarchyMap[second] - hierarchyMap[first]);
const hierarchyMap = {
King: 0,
Queen: 1,
Tower: 2,
Bishop: 3,
Knight: 4,
Pawn: 5,
}
let array = ["Tower", "Pawn", "Bishop", "Queen"];
let sorted = array.sort((first, second) => hierarchyMap[first] - hierarchyMap[second]);
console.log(sorted)
关于javascript - 如何按照预定的层次结构对 JavaScript 数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63109711/