可能重複:
How to sort an array of javascript objects?需要按照某種邏輯的Javascript數組排序
我有一個陣列myResponse.students[i]
我計算總標記在每一個學生數組通過一些邏輯,現在我想根據我計算的總分數對數組進行排序。如何使用JavaScript做到這一點?
可能重複:
How to sort an array of javascript objects?需要按照某種邏輯的Javascript數組排序
我有一個陣列myResponse.students[i]
我計算總標記在每一個學生數組通過一些邏輯,現在我想根據我計算的總分數對數組進行排序。如何使用JavaScript做到這一點?
假設爲學生提供的邏輯是要排序
數組myResponse.students.sort(byMark)
function byMark(a, b){
return b.mark - a.mark; // sort score desc
}
這裏是什麼'a'&'b'? –
排序函數將挑選和排列中的對象作爲a和b進行比較。你可以在sort函數中做任何事情來返回你的defind值。返回值會告訴比較函數如何排序。返回0 =相等,返回1或更大意味着a更大,返回-1或更低意味着a低於b – hsgu
嗨...我明白了。但在我的情況下,總分不在數組中......我在外面計算它... –
試一下這個
排序功能的簽名是這樣的
中的Array.sort([的compareFunction])
請通過文檔,以獲得更好的主意的compareFunction
嗨Naveen ..這裏是什麼'a'&'b'? –
見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;
}
這是一個數組或數組對象的數組? –
可能重複[如何排序的JavaScript對象的數組?](http://stackoverflow.com/questions/979256/how-to-sort-an-array-of-javascript-objects)和[排序JavaScript數組的對象(http://stackoverflow.com/questions/5421253/sort-javascript-array-of-objects)。 –
@FelixKling它的對象數組......爲了得到我需要做的這個名字'myResponse.students [i] .student.name' –