2013-03-24 5 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) }); 
Смежные вопросы