假設 temp=[1,2,3,4],一般排序的方法為 temp.sort()
如果把陣列宣告為物件的話該如何排序呢
temp[0].txt=1
temp[0].val='bus'
temp[1].txt=2
temp[1].val='apple'
temp[2].txt=3
temp[2].val='juice'
temp[3].txt=4
temp[3].val='zoo'
如何將陣列temp依txt屬性排序呢
如果直接用temp.sort()則沒辦法排序
你可以把自訂的排序邏輯寫成函數傳給sort,他就會按照你的方法來做排序。
例如:
<pre class="c" name="code">
var temp = [];
temp[0] = {};
temp[0].txt=1
temp[0].val='bus'
temp[1] = {};
temp[1].txt=2
temp[1].val='apple'
temp[2] = {};
temp[2].txt=3
temp[2].val='juice'
temp[3] = {};
temp[3].txt=4
temp[3].val='zoo'
temp.sort(function(a,b){return b.txt-a.txt;});
for(var i=0; i<4; i++) {
alert(temp[i].txt);
}