Я считаю, что это зависит от типа объектов, которые вы сортируете в своем массиве. Вы можете предоставить "функцию сортировки" для array.sort (), чтобы определить правила сортировки определенного объекта. Например, рассмотрим функцию:
function sortInt(a, b){
if ( a < b )
return -1;
else if ( a == b )
return 0;
else if ( a > b )
return 1;
}
Так что это, очевидно, надумано, но вы можете применить эту же идею к любому объекту, который "сопоставим". Вы всегда будете возвращать -1, 0 или 1 в зависимости от того, меньше ли, равно или больше b (соответственно).
Вы бы тогда сказали: array.sort(sortInt);
Оговорка:
Простите, если синтаксис не идеален, поскольку у меня нет примера под рукой. Я также не уверен в стабильности Array.sort () с точки зрения кросс-браузера.
Редактировать: Исправлено форматирование фрагмента кода псевдо