Javascript Multi-Tiêu chuẩn Sắp xếp
Nếu bạn muốn sắp xếp theo groupId và giá trị, bạn có thể sử dụng chức năng sắp xếp mà tôi đã ted dưới đây (JsFiddle: http://jsfiddle.net/oahxg4u3/6/). Hàm sắp xếp này cũng có thể được sử dụng để sắp xếp theo n-giá trị, hoặc bởi một giá trị duy nhất.
Xác định:
function sortByCriteria(data, criteria) {
return data.sort(function (a, b) {
var i, iLen, aChain, bChain;
i = 0;
iLen = criteria.length;
for (i; i < iLen; i++) {
aChain += a[criteria[i]];
bChain += b[criteria[i]];
}
return aChain.localeCompare(bChain);
});
}
Invoke:
var data = [
{value:"fruit", desc:"fruit", groupId:2, userId:4},
{value:"aGan", desc:"normal user", groupId:4, userId:5},
{value:"father's home ", desc:"normal user", groupId:2, userId:4}
];
var criteria = ["groupId", "value"];
sortByCriteria(data, criteria);
Nó có thể là hữu ích cho bạn biết rằng 'a.groupId> b.groupId' có thể đưa ra kết quả không chính xác, tùy thuộc vào trình duyệt của bạn. Xem http://stackoverflow.com/q/9375788/989121 – georg