我是js的新手,嘗試按兩個字段對對象數組進行排序 - 從第一個屬性開始,然後是第二個屬性。這兩個屬性都是數字。通過多個屬性對數組中的對象進行排序
的數據是:
var homes = [{
"h_id": "3",
"minimumorder": "12",
"price": "17"
}, {
"h_id": "4",
"minimumorder": "1",
"price": "20"
}, {
"h_id": "5",
"minimumorder": "1",
"price": "18.10"
}
有所述陣列中多個對象,這是一個簡化的例子。下面的代碼ALMOST讓我有,但爲minimumorder財產它把經過1 12後,而不是6:
cmp = function(a, b) {
parseFloat(a);
parseFloat(b);
if (a > b) return +1;
if (a < b) return -1;
return 0;
}
homes.sort(function(a, b) {
return cmp(a.minimumorder,b.minimumorder) || cmp(a.price,b.price)
})
的jsfiddle here。
任何幫助都會受到高度的讚賞,因爲我一直在搜索和修補幾個小時,試圖弄清楚這一點。
血腥的傳說。感謝堆! – martellalex