Метод sort()
Как принято в современных интерпретируемых языках, например в Perl, метод sort() позволяет отсортировать элементы массива в соответствии с некоторой функцией сортировки, чье имя используется в качестве аргумента метода:
a = new Array(1,6,9,9,3,5); function g(a,b) { if(a > b) return 1; if(a < b) return -1; if(a==b) return 0; } b = a.sort(g);
В результате выполнения этого кода получим массив следующего вида:
b[0]=1 b[1]=3 b[2]=5 b[3]=6 b[4]=9 b[5]=9
Возможность использования произвольной функции сортировки позволяет выполнять подробный анализ строковых объектов. Одним из таких примеров может служить анализ строки атрибута SRC контейнера IMG, если картинка подставляется скриптом, и сортировка полей формы по значениям:
document.image.src = "http://www.intuit.ru:80/cgi-bin/ image?x=10&y=20&z=15";
Выделим x и y. Затем отсортируем их:
str = "http://www.intuit.ru:80/cgi-bin/ image?x=10&y=20&z=15"; s = str.split('?'); s1 = s[1].split('&'); s2 = s1.sort(g); for(i=0;i<s2.length;i++) document.write("s2["+i+"]= '"+s2[i]+"'<br>"); s2[0]='x=10' s2[1]='z=15' s2[2]='y=20'
Аналогичные манипуляции можно проделать с любым массивом. Если не указывать функции в аргументе метода сортировки, то элементы массива сортируются в лексикографическом порядке. Это значит, что они сначала преобразуются в строки и только потом сортируются.
on_load_lecture()
« |
1
|
2
|
3
|
4
|
5
|
6
|
7
|
вопросы | »
учебники
|
для печати и PDA
Курсы | Учебные программы | Учебники | Новости | Форум | Помощь
Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru © 2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование |