Сортировка массивов в JS. Функция sort

Вопрос о сортировках не был рассмотрен. Теперь был. Стандартная сортировка средствами JS. Отсортирует и массив цифр, и массив строк, и что хочешь (не всегда так как нужно, правда).
1
2
3
4
5
//массив
var arr=[5,4,3,7,9,0];
//сортируем
arr.sort();
//смотрим что получилось
  Проверить скрипт
Сортировка нестандартная. С помощью собственных правил.
1
2
3
4
5
6
7
8
9
10
11
//Описываем функцию - правило
function sorting(a,b){
    if(a>b) return 1;
    if(a<b) return -1;
    //если a равно b, то выход
    //возвращать 0 нужно всегда, иначе ваша сортировка никогда не прекратится
    return 0;
}
var arr=[5,4,3,7,9,0];
//сортируем
arr.sort(sorting);
  Проверить скрипт
Пример сортировки объектов:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function sorting(arg1, arg2){
    //в более сложных объектах лучше проверить, что всё на месте
    switch(null){
        //если что-то == null, то вылетаем из сортировки
        case arg1: case arg2: case arg1.b: case arg2.b: return 0;
    }
    //отсортируем все объекты по их полю "b"
    if(arg1.b>arg2.b) return -1;
    if(arg1.b<arg2.b) return 1;
    return 0;
}
var arr=[
    {a:0,b:3,c:5},
    {a:4,b:7,c:4},
    {a:3,b:5,c:8},
    {a:4,b:7,c:6}
];
arr.sort(sorting);
alert(arr);
  Проверить скрипт
Спасибо за внимание.
Если статья Вам показалась незаконченной или Вы знаете как её улучшить, пожалуйста сообщите мне e@gohtml.ru