0

可能重复:
如何对 javascript 对象数组进行排序?

我有一个数组myResponse.students[i]

我通过一些逻辑计算数组中每个学生的总分,现在我想根据我计算的总分对数组进行排序。如何使用javascript做到这一点?

4

3 回答 3

3

假设你的学生是你想要排序的数组

myResponse.students.sort(byMark)

function byMark(a, b){
     return b.mark - a.mark; // sort score desc
}
于 2012-09-28T06:05:08.557 回答
0

试试这个

myResponse.students.sort(function(a,b) { 
    return parseFloat(a.TotalMarks) - parseFloat(b.TotalMarks) ;
});

排序函数的签名是这样的

array.sort([比较函数])

请仔细阅读文档以更好地了解compareFunction

链接:array.sort MDN

于 2012-09-28T05:58:14.670 回答
0

MDN

您可以将比较器函数作为参数传递给排序函数。

此函数从数组中获取两个值进行比较,您需要提供返回01或的逻辑,-1如下所示

var a = [...]; //your array
a.sort(compareFunction);

function compareFunction (a, b)
{
  if (a is less than b by some ordering criterion)
     return -1;
  if (a is greater than b by the ordering criterion)
     return 1;
  // a must be equal to b
  return 0;
}
于 2012-09-28T05:59:40.347 回答