![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| patap |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 893 Регистрация: 7.5.2005 Где: Украина, Зп Репутация: нет Всего: 40 |
Здорово, народ.
У меня такая проблемка. Я создал объект и заполнил его, в общем вот фрагмент проги:
теперь подскажите: Как упорядочнить объект athlantic[] по убыванию, по полю wins? Я делал вот так:
в Pascal это работает без проблем, а в JavaScript начинает гнать, в чем проблема?
Это сообщение отредактировал(а) Aliance - 7.5.2005, 15:59 -------------------- На боку кобура болталась, сзади шашка отцовская звякала. Впереди меня все хохотало, а позади все плакало (с) |
||||||
|
|||||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Сортировка в JavaScript происходит так:
Это лишь пример, нужно знать конкретнее твою задачу... |
|||
|
||||
| patap |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 893 Регистрация: 7.5.2005 Где: Украина, Зп Репутация: нет Всего: 40 |
мне нужно взять и сравнить все athlantic[i].wins, и упорядочнить по убыванию athlantic[i] относительно
этого поля(wins). вот допустим заполним поля:
теперь если вывести на экран поля athlantic[i].name, будет вот такой результат 1. Бостон 2. Нью-Джерси 3. Филадельфия 4. Торонто а мне нужно провести сортировку и упорядочнить команды по количеству побед, т.е. по полю wins, и результат должен быть такой: 1. Бостон(wins=39) 4. Торонто(wins=38) 3. Филадельфия(wins=36) 2. Нью-Джерси(wins=35) в общем мне нужна функция сортировки, чтобы ей передавался объект athlantic, она его переробатывала и выдавала результат. во, вроде все ясно, но если чего спрашивай. -------------------- На боку кобура болталась, сзади шашка отцовская звякала. Впереди меня все хохотало, а позади все плакало (с) |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
|
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
patap это еще что за паскале-дельфийский код! Так извратно на JS не пишут
С сортировки пузырьком вообще упал Пишем правильно:
Собстна надеюсь что ты врубишся в приём и перестанешь думать в убогом паскалевском стиле(да не в обиду всем фанатам, просто моё ИМХО) -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| patap |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 893 Регистрация: 7.5.2005 Где: Украина, Зп Репутация: нет Всего: 40 |
Sardar
ну, дружище, спасибо! угодил так угодил! именно то, что надо, есть конечно непонятные моменты, ну я еще <вырезано модератором>, а если что, то спрашу. ок? а на счет паскаля ты прав. я просто только его более менее и знаю. а java script вот только начал осваивать, тут по-ходу свой подход нужен, но со временем вкурю что к чему, язык не из сложных. в общем спасибо тебе. удачи!
Это сообщение отредактировал(а) Aliance - 10.5.2005, 00:26 -------------------- На боку кобура болталась, сзади шашка отцовская звякала. Впереди меня все хохотало, а позади все плакало (с) |
|||
|
||||
| patap |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 893 Регистрация: 7.5.2005 Где: Украина, Зп Репутация: нет Всего: 40 |
Sardar
обоснуй пожалуйста: 1. что значит [] в этой функции
или я так думаю что это пустой объект? 2. объясни как действует data в этой функции?
и еще такоя просьба: на простом примерчике объясни как действует this. а то я вроде понимаю, но не совсем. буду очень благодарен. Aliance прости дружище, я с непривычки. буду стараться.
Это сообщение отредактировал(а) Aliance - 10.5.2005, 01:02 -------------------- На боку кобура болталась, сзади шашка отцовская звякала. Впереди меня все хохотало, а позади все плакало (с) |
||||||
|
|||||||
| Aliance |
|
||||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
интересно, ты сам писал скрипт, который ты выложил выше... ведь там она использована. Вообще, глобальная ссылка this указывает на объект (в широком смысле этого слова), от которого производится обращение. Вот, полезно, прочти.
это массив. что непонятно?
я так понимаю, по умолчанию это объект, а мы его делаем массивом... |
||||||
|
|||||||
| Sardar |
|
||||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Литеральный пустой массив. Синтаксис: ['test', 'test2', 'test3'] - массив из трёх элементов.
Это просто массив с инфой, которую ты сам забиваешь.
Как в любом ООП языке this это сылка на текущий обьект, в контексте которого исполняется функция(метод). Если функцию вызываем просто как функцию, то она исполняется в контексте window. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||||
|
|||||||
| patap |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 893 Регистрация: 7.5.2005 Где: Украина, Зп Репутация: нет Всего: 40 |
привет еще раз.
я в общем посидел подумал, поразбирал код и появились еще вопросы я прокоментировал строки так как я это понял, если что не правильно, прошу исправить и там где заданы вопросы - дайте ответы. если не сложно изложите в такой же форме как и я. заранее спасибо мужики.
-------------------- На боку кобура болталась, сзади шашка отцовская звякала. Впереди меня все хохотало, а позади все плакало (с) |
|||
|
||||
| Sardar |
|
||||||||||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Не совсем, field это имя селектируемого(выбираемого) поля по которому сортируем. Comparator(compare - сравнивать) - это функция, задающая порядок сортировки по полю обьекта. Стандартный компаратор опеделён там же в функции, сортирует по возрастанию, работает со всеми типами.
Если контейнер пуст, то нафиг чего либо возвращать
Ну почти, создаём обьект юзая конструктор CommandContainer, это не просто вызов функции
Собстна метод select контейнера создан для выборок по заданному полю, результат отсортирован в заданном направлении. То есть пишем: container.select("wins") - выбрали и осортировали обьекты по полю wins с дефолтовым компаратором.
Массив с данными лежит в поле container контейнера обьектов, мы его достали. patap вообще JS это не такой простой язык как ты думаешь, он прост для тех кто понимает что такое функциональные языки(хотя JS не функциональный язык). Если ты писал на Python, то JS тебе покажеться очень простым и удобным. Если на Java, то наделаешь много лажи, пытаясь создать иерархии "классов", хотя понятия типа/класса в JS нет. Ну а если ты кроме паскаля/C ничего не знаешь, то придётся расслабиться и выкинуть из головы все приёмы и ограничения, что ты имел раньше. В JS, можно всё, можно даже писать код, который будет изменять сам себя по требованию задачи(лямбда программирование). -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||||||||||
|
|||||||||||||
| Иль |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: 2 Всего: 14 |
О! Ничего не понимаю
Добавлено @ 16:03 Sardar, если получится, то можно на словах - чего тут делается, принцип. -------------------- Ты виндусятник?... А я да. |
|||
|
||||
| Иль |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: 2 Всего: 14 |
Sardar, вот как я понял твою идею:
В Array накидываем объектов которые хотим отсортировать в нем же, но сравнивать и сортировать сами элементы сего массива нам не интересно (да и чего мы там насравниваем Ну скажите, что это так и мне будет полная нирвана!!! А то я тут уже до чертиков дошол (какой-то eval() мне привиделся Это сообщение отредактировал(а) Иль - 8.6.2005, 17:44 -------------------- Ты виндусятник?... А я да. |
|||
|
||||
| Иль |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 544 Регистрация: 3.3.2005 Где: Москва Репутация: 2 Всего: 14 |
Sardar, почему на "string" проверяются и "a", и "b". Как повлияет на сравнения если проверять только "a" и .toLowerCase() применять сразу к обоим? Это сообщение отредактировал(а) Иль - 8.6.2005, 18:55 -------------------- Ты виндусятник?... А я да. |
|||
|
||||
| Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Да, это так
Потому что в поле обьекта може лежать что угодно. Если это строка, то обычно не нужно учитывать регистр, для этого и приводим к нижнему регистру, а затем сравниваем. Если регистр важен, то эти две строчки убираем. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |