javascript - 根据特定元素对数组进行排名

标签 javascript arrays

我有这样的用户点数组:

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/

相关文章:

JavaScript 图片

javascript - 有没有一种简单的方法将数据从子组件传递到父组件?

javascript - 在 Sinatra 中执行 Javascript

javascript - 如何在 JavaScript 中将整数转换为小数?

php - 带有 checkin 数组的 mysql 查询中的 IF 语句

javascript - 在列表之间单击时移动 li 项目无法正常工作

ruby - 替代 Ruby 1.9 中的 Array#nitems?

ruby - 使用散列来区分正数、奇数、偶数和负数

c# - 是否可以将字节数组转换为AudioClip?

javascript - 如何在不使用 JQUERY 的情况下连接两个 JSON 对象的 JavaScript 数组?