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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Регистрация: Jul 2010
Сообщений: 51
По умолчанию Странности циклов (сортировка)

Привет
Есть пример:
Код AS3:
			var obj:Object = new Object();
 
			obj[1] = 4;
			obj[3] = 5;
			obj[2] = 6;
 
			for (var key2:String in obj) {
 				trace(obj[key2]);
			}
Вывод с него такой
Код:
4 6 5
Тоесть по индексу, а мне нужно прокрутить цикл "как есть"
Тоесть чтоб на выводе было
Код:
4 5 6

Старый 13.11.2010, 01:19
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 2  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
На самом деле, самого дела нет. Никак не есть. Порядок добавления не сохраняется.
"Object properties are not kept in any particular order, so properties may appear in a seemingly random order"
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 13.11.2010, 01:23
Byrger вне форума Посмотреть профиль Отправить личное сообщение для Byrger Найти все сообщения от Byrger
  № 3  
Ответить с цитированием
Byrger

Регистрация: Jul 2010
Сообщений: 51
Хорошо, как тогда быть?
У меня 2х мерный объект(двухмерный массив)
И нужно отсортировать по значению которое внутри массива...

Старый 13.11.2010, 01:39
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 4  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Может, если массив, то делать массив (Array)? У него там есть sort() ивсётакое.
Двумерного массива тут не увидел, сортировка в двумерном массиве может быть не такой простой (особенно если чётко не сказать, чего надо).
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 13.11.2010, 01:50
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 5  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
ээ может быть for each не ? Хотя не

Старый 13.11.2010, 01:59
Mitya_Potemkin вне форума Посмотреть профиль Отправить личное сообщение для Mitya_Potemkin Найти все сообщения от Mitya_Potemkin
  № 6  
Ответить с цитированием
Mitya_Potemkin

Регистрация: Nov 2010
Сообщений: 7
вычисляй индекс элемента массива, который нужно выводить. К индексам привязывайся и всё будет ок)

Старый 13.11.2010, 04:37
chabapok вне форума Посмотреть профиль Отправить личное сообщение для chabapok Найти все сообщения от chabapok
  № 7  
Ответить с цитированием
chabapok

Регистрация: Jul 2009
Сообщений: 240
Записей в блоге: 1
если у вас значения добавляются в отсортированнам порядке - используйте стек, напрмиер. obj.push(4);obj.push(5);obj.push(6);
но индексы сползут.
если не хочется, чтобы индексы ползли, то можно использовать 2 массива - один с правильными индексами, а другой - стек.

Или можно использовать ваши 4,5,6 как ключи. как-то так:

Код AS3:
var obj:Object = new Object();
 
			obj[4] = 1;
			obj[5] = 3;
			obj[6] = 2;
 
			for (var key2:String in obj) {
 				trace(key2);
			}
но все это, конечно, извращения.

Старый 13.11.2010, 10:11
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 8  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
Может, если массив, то делать массив (Array)? У него там есть sort() ивсётакое.
Единственная верная мысль. Зачем вам обджекты? Как сказал Тигер, а я разделяю его мнение, обджекты нужны в большинстве своем для передачи ключ-значение. И вообще, нафиг-нафиг эти массивы. Делайте на векторах.
__________________
тут я

Старый 13.11.2010, 15:46
PikseL вне форума Посмотреть профиль Отправить личное сообщение для PikseL Посетить домашнюю страницу PikseL Найти все сообщения от PikseL
  № 9  
Ответить с цитированием
PikseL
 
Аватар для PikseL

Регистрация: Oct 2006
Адрес: Russia, Tyumen
Сообщений: 130
Отправить сообщение для PikseL с помощью ICQ Отправить сообщение для PikseL с помощью Skype™
А можно еще ArrayCollection() и будет аще щастье...

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

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

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


 


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


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