我有这样的用户点数组:
let groupRank = [];
userA = ["Sara", "24"];
userB = ["John", "12"];
userC = ["Eddi", "20"];
userD = ["Marry", "13"];
我想根据他们的分数对他们进行排名并得到这个:
Console.log(groupRank);
//Sara, Eddi, Marry, John
最佳答案
您可以创建一个二维数组和sort
它基于索引 1
处的 points
。然后使用map
获取索引 0
let array = [
["Sara", "24"],
["John", "12"],
["Eddi", "20"],
["Marry", "13"]
]
const sortedNames = array.sort((a, b) => b[1] - a[1])
.map(a => a[0])
console.log(sortedNames.join())
如果您将所有这些数组放在单独的变量中,则可以像这样创建二维数组:
let array = [ userA, userB, userC, userD ]
关于javascript - 根据特定元素对数组进行排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55333572/