Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 12.12.2003, 12:13
Jlekc вне форума Посмотреть профиль Отправить личное сообщение для Jlekc Найти все сообщения от Jlekc
  № 1  
Jlekc
 
Аватар для Jlekc

Регистрация: Dec 2003
Адрес: Leopolis
Сообщений: 398
Отправить сообщение для Jlekc с помощью ICQ
По умолчанию Снова сортировка массивов ( FlashGuru помогите )

FlashGuru помогите

Как настаящий герой пошол в обход, написал даный сурс для сортировки с любым количеством сортируемых елементов:

Код:
Array.prototype.mySortOn = function() {
	this.constructor.arg = arguments;
	//	проблема с аргументами проверю потом
	//	-----	begin Compare
	function compare() {
		var argPrev = arguments[1].constructor.argPrev;
		arguments[1].constructor.argPrev = arguments[0];
		if (argPrev == undefined) {
			arguments[1].sortOn(arguments[0]);
		} else {
			var i = 0;
			var _arr = [arguments[1][0]];
			var _sort = [];
			while (i<arguments[1].length) {
				if (arguments[1][i][argPrev] == arguments[1][i+1][argPrev]) {
					_arr.push(arguments[1][i+1]);
				} else {
					_arr.sortOn(arguments[0]);
					_sort = _sort.concat(_arr);
					delete _arr;
					_arr = [arguments[1][i+1]];
				}
				++i;
			}
			return _sort;
		}
		return arguments[1];
	}
	//	-----	end of Compare
	while (this.constructor.arg.length>0) {
		this = compare(this.constructor.arg.shift(), this);
	}
	//	????????????????? this уже не принадлежит к arr
	arr = this;
};
//	-------	end Of Function
arr = [];
arr.push({x:1, y:1, z:1});
arr.push({x:2, y:2, z:2});
arr.push({x:2, y:2, z:1});
arr.push({x:2, y:1, z:1});
arr.push({x:3, y:1, z:1});
arr.push({x:2, y:1, z:2});
arr.mySortOn("y", "x", "z");
//
for (var i = 0; i<arr.length; i++) {
	trace("x : "+arr[i].x+" | "+"y : "+arr[i].y+" | "+"z : "+arr[i].z);
}
код робочий но возник глюк. объект и его псевдоним раздилились Пришлось занова переприсваевать ( строка 34 ). ОТЦЫ подскажите что произошло плз
зарание благодарен

P.S. если будут идеи можно стучаться в аську

Старый 12.12.2003, 13:17
Пушистик вне форума Посмотреть профиль Отправить личное сообщение для Пушистик Посетить домашнюю страницу Пушистик Найти все сообщения от Пушистик
  № 2  
Пушистик
Bumble Bee
[+1 05.07.06]
 
Аватар для Пушистик

Регистрация: May 2003
Адрес: Третья планета от Солнца
Сообщений: 1,254
Отправить сообщение для Пушистик с помощью ICQ
а чё ваще должно сортироваЦа?в вертикальных столбцах что-ли?
__________________
Portfolio

Старый 12.12.2003, 13:26
Jlekc вне форума Посмотреть профиль Отправить личное сообщение для Jlekc Найти все сообщения от Jlekc
  № 3  
Jlekc
 
Аватар для Jlekc

Регистрация: Dec 2003
Адрес: Leopolis
Сообщений: 398
Отправить сообщение для Jlekc с помощью ICQ
неа по горизонтальных
Я же натисал: arr.mySortOn("y", "x", "z")
Приоретет слева направо, а может сверху вниз ( не помню )

Создать новую тему   Часовой пояс GMT +4, время: 17:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:19.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.