我有一个数组myResponse.students[i]
我通过一些逻辑计算数组中每个学生的总分数,现在我想根据我计算的总分数对数组进行排序。如何使用javascript进行此操作?
答案 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
答案 2 :(得分:0)
请参阅MDN
您可以将比较器功能作为参数传递给sort函数。
此函数需要从数组中比较两个值,您需要提供用于返回0
或1
或-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;
}