2013-03-24 68 views

Trả lời

9

Bạn chỉ cần vượt qua trong một so sánh với chức năng sắp xếp

function compare(a,b) { 
    if (a.attr < b.attr) 
    return -1; 
    if (a.attr > b.attr) 
    return 1; 
    return 0; 
} 

canvasObjects.sort(compare); 

Hoặc inline

canvasObjects.sort(function(a,b) {return (a.attr > b.attr) ? 1 : ((b.attr > a.attr) ? -1 : 0);}); 

Xem này POST

0

Gởi chức năng ẩn danh với cách sắp xếp mà trả về một phép trừ của thuộc tính "z"

var arr = [{z:2},{z:4},{z:5},{z:1},{z:3}]; 

arr.sort(function(a,b) {return a.z - b.z}); 

ở trên đặt số trong z để đặt 1,2,3,4,5. Để đảo ngược thứ tự làm cho nó trở lại "b.z - a.z".

1

Đã thử các câu trả lời khác được đăng ở đây nhưng tôi đã tìm thấy các câu trả lời sau để hoạt động tốt nhất.

canvasObjects.sort(function(a,b) { return parseFloat(a.z) - parseFloat(b.z) }); 
Các vấn đề liên quan