2013-03-24 2 views

답변

9

당신은 단지 정렬 기능

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

canvasObjects.sort(compare); 

또는 인라인으로 비교기에 전달해야

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

POST

0

가 빼기를 반환하는 정렬 방법에 익명 함수를 보내기 참조 속성 "z"

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

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

은 1,2,3,4,5를 주문하려면 z에 숫자를 넣습니다. 순서를 바꾸려면 "b.z - a.z"를 반환하십시오.

1

다른 답변을 시도해 보았습니다. 그러나 아래에서 가장 잘 작동하는 것으로 나타났습니다.

canvasObjects.sort(function(a,b) { return parseFloat(a.z) - parseFloat(b.z) }); 
관련 문제