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

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

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

Регистрация: Jun 2011
Адрес: Пенза
Сообщений: 74
Записей в блоге: 1
По умолчанию Переменные в Object и странный порядок вывода

Есть не хитрый код:
Код AS3:
var object:Object = new Object();
object.param1 = "param_1";
object.param2 = "param_2";
object.param3 = "param_3";
 
for (var i in object)
{
	trace(i, object[i]);
}
Почему-то в печать выводится:
Код:
param2 param_2
param1 param_1
param3 param_3
а хотелось бы в том порядке, в котором добавли в объект
Можно ли этого добиться? Или смачно сплюнув уйти в надежный мир индексных масивов?

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Вы запихали к себе в карман 3 абсолютно одинаковых по размеру яблока. Сначала зеленое, потом желтое, а потом красное. Вытащите их из кармана в таком же порядке.

Старый 18.07.2012, 19:50
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 3  
Ответить с цитированием
-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"
Читайте доки! for...in не поможет с порядком.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 18.07.2012, 20:03
strangedk вне форума Посмотреть профиль Отправить личное сообщение для strangedk Найти все сообщения от strangedk
  № 4  
Ответить с цитированием
strangedk
 
Аватар для strangedk

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Код AS3:
var object:Object = new Object();
	object.param1 = "param_1";
	object.param2 = "param_2";
	object.param3 = "param_3";
 
for (var i:int=1; i<4; ++i) {
	trace(object["param"+i]);
}
__________________
adobe AS3 manual

Старый 18.07.2012, 20:09
Aquahawk вне форума Посмотреть профиль Отправить личное сообщение для Aquahawk Посетить домашнюю страницу Aquahawk Найти все сообщения от Aquahawk
  № 5  
Ответить с цитированием
Aquahawk
 
Аватар для Aquahawk

Регистрация: Nov 2010
Адрес: Москва
Сообщений: 915
Записей в блоге: 4
Отправить сообщение для Aquahawk с помощью ICQ Отправить сообщение для Aquahawk с помощью Skype™
Код AS3:
var object:Array = new Array();
			object[0] = "param_1";
			object[2] = "param_3";
			object[1] = "param_2";
 
			for each(var i:Object in object){
				trace(i);
			}
для аррая порядок соблюдается, для числовых ключей и то в порядке добавления. Никогда не видел чтобы документация на это указывала, по сему не рекомендую это использовать.
__________________
:)

Старый 18.07.2012, 20:14
red_penguin вне форума Посмотреть профиль Отправить личное сообщение для red_penguin Найти все сообщения от red_penguin
  № 6  
Ответить с цитированием
red_penguin
 
Аватар для red_penguin

Регистрация: Jun 2011
Адрес: Пенза
Сообщений: 74
Записей в блоге: 1
Всем спасибо за исчерпывающий ответ
Переделаю через массив

Старый 18.07.2012, 22:27
Deimos747 вне форума Посмотреть профиль Отправить личное сообщение для Deimos747 Найти все сообщения от Deimos747
  № 7  
Ответить с цитированием
Deimos747
 
Аватар для Deimos747

Регистрация: Mar 2011
Сообщений: 243
А лучше вообще так:
Код AS3:
var list: Vector.<String> = new <String> ["param_1", "param_2", "param_3"];
 for each(var i: String in list){
	trace(i);
}

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

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

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


 


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


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