需要根据一些逻辑对Javascript数组进行排序

时间:2012-09-28 05:51:36

标签: javascript arrays sorting

  

可能重复:
  How to sort an array of javascript objects?

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

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

3 个答案:

答案 0 :(得分:3)

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

myResponse.students.sort(byMark)

function byMark(a, b){
     return b.mark - a.mark; // sort score desc
}

答案 1 :(得分:0)

试试这个

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

排序功能的签名就是这个

  

的Array.sort([的compareFunction])

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

链接:array.sort MDN

答案 2 :(得分:0)

请参阅MDN

您可以将比较器功能作为参数传递给sort函数。

此函数需要从数组中比较两个值,您需要提供用于返回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;
}