2013-03-24 157 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}); 

將數字放在z中以1,2,3,4,5順序排列。要反轉該順序,請返回「b.z - a.z」。

1

嘗試了其他答案張貼在這裏,但我發現以下工作最好。

canvasObjects.sort(function(a,b) { return parseFloat(a.z) - parseFloat(b.z) }); 
相關問題