可能重复:
如何对 javascript 对象数组进行排序?
我有一个数组myResponse.students[i]
我通过一些逻辑计算数组中每个学生的总分,现在我想根据我计算的总分对数组进行排序。如何使用javascript做到这一点?
可能重复:
如何对 javascript 对象数组进行排序?
我有一个数组myResponse.students[i]
我通过一些逻辑计算数组中每个学生的总分,现在我想根据我计算的总分对数组进行排序。如何使用javascript做到这一点?
假设你的学生是你想要排序的数组
myResponse.students.sort(byMark)
function byMark(a, b){
return b.mark - a.mark; // sort score desc
}
试试这个
myResponse.students.sort(function(a,b) {
return parseFloat(a.TotalMarks) - parseFloat(b.TotalMarks) ;
});
排序函数的签名是这样的
array.sort([比较函数])
请仔细阅读文档以更好地了解compareFunction
见MDN
您可以将比较器函数作为参数传递给排序函数。
此函数从数组中获取两个值进行比较,您需要提供返回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;
}