Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Web-программирование - это просто!


Новое на сайте Программирование - это просто! (www.easyprog.ru):

В платном разделе

В бесплатном разделе

Добрый день, уважаемые подписчики!

Тема сегодняшнего выпуска: «Java Script(JS): Сортировка массива штатными средствами.

 

Для углубленного изучения web-программирования (язык PHP и написание своей собственной CMS) советую подписаться на платный раздел (см. анонсы раздела "Пишем Easy CMS").

 

Мы уже писали программу сортировки массива. Сегодня будем делать тоже самое, но штатными средствами, а именно методом sort. В качестве аргумента у этого метода ссылка на функцию сравнения элементов. Таким образом, штатными средствами мы моем сортировать массив любых объектов, нужно только запрограммировать правила их сравнения. Рассмотрим пример:

 

<html>

 

<head>

    <title>Урок 59. Java Script (JS): Сортировка массива штатными средствами</title>

</head>

 

<body>

    <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">

   

        function compare(a,b)

        {

            var A=a.toUpperCase();

            var B=b.toUpperCase();

            return (A>B)-(B>A)

        }

   

        var a=new Array("Маша","Саша","Даша","Лена","Аня","Таня","Оля","Коля");

        document.write("Исходный массив: ",a,"<br>");

        a.sort(compare);

        document.write("Отсортированный массив: ",a,"<br>");

       

    </SCRIPT>

</body>

 

</html>

 

программа выдаст нам вот такой результат:

Исходный массив: Маша,Саша,Даша,Лена,Аня,Таня,Оля,Коля
Отсортированный массив: Аня,Даша,Коля,Лена,Маша,Оля,Саша,Таня

 

Если мы хотим сортировать в обратном порядке, то применим вот такую функцию compare:

        function compare(a,b)

        {

            var A=a.toUpperCase();

            var B=b.toUpperCase();

            return (B>A)-(A>B)

        }

 

Для чисел:

 

        function compare(a,b)

        {

            return a-b;

        }

 

Для числе в обратном порядке:

 

        function compare(a,b)

        {

            return b-a;

        }

 

 

 

С уважением, Шуравин Александр, e-mail: megabax@rambler.ru, автор оставляет за собой право публиковать в рассылках ваши письма, если в письме прямо неоговорено нежелание его публиковать.

 


В избранное