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

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

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

Регистрация: Oct 2008
Сообщений: 5
По умолчанию Как получить значение ключа массива?

var mas: Array = new Array();

mas["field1"] = "field1_value";
mas["field2"] = "field2_value";

Теперь надо как-то пройтись по всем элементам массива и получить их ключи и значения...

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

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
Например так:
Цитата:
var mas: Array = new Array();

mas["field1"] = "field1_value";
mas["field2"] = "field2_value";

for (var ind in mas) {
trace(ind);
}
__________________
while(1) {}

Старый 02.10.2008, 20:50
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 3  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
yavfast, вы сделали не массив вы сделали хэш. во флэше нету ассациотивных массивов. или ка там они называются. вместо класса Array, лучше использовать обычный Object для таких целей.

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

Регистрация: May 2008
Сообщений: 61
Adobe пишет:
Цитата:
Do not use the Array class to create associative arrays (also called hashes), which are data structures that contain named elements instead of numbered elements. To create associative arrays, use the Object class. Although ActionScript permits you to create associative arrays using the Array class, you cannot use any of the Array class methods or properties with associative arrays.
Так что лучше, наверное, пользоваться Object.

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

Регистрация: Jul 2008
Адрес: Украина, Херсон
Сообщений: 635
Отправить сообщение для Division с помощью ICQ
Черт, точно (:
__________________
while(1) {}

Старый 03.10.2008, 12:36
yavfast вне форума Посмотреть профиль Отправить личное сообщение для yavfast Найти все сообщения от yavfast
  № 6  
Ответить с цитированием
yavfast

Регистрация: Oct 2008
Сообщений: 5
Я так понял, что флэш сам преобразовал мой массив в object.
Остался вопрос: как выцепить попорядку все свойства объекта, и получить их названия и значения?

Старый 03.10.2008, 13:08
yavfast вне форума Посмотреть профиль Отправить личное сообщение для yavfast Найти все сообщения от yavfast
  № 7  
Ответить с цитированием
yavfast

Регистрация: Oct 2008
Сообщений: 5
Всем спасибо, разобрался!

Для таких целей используется класс Proxy.

Старый 03.10.2008, 15:12
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 8  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
yavfast - вы извращенец если используете для этого Proxy. для этого есть (как написал Division) цикл for..in

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

Регистрация: May 2008
Сообщений: 61
Цитата:
Сообщение от yavfast Посмотреть сообщение
Всем спасибо, разобрался!

Для таких целей используется класс Proxy.
Решили для приготовления яичницы построить атомный реактор?
Просто поменяйте Array на Object и все будет в порядке:
Код:
var mas:Object = new Object();

mas["field1"] = "field1_value";
mas["field2"] = "field2_value";

for (var ind in mas) {
trace(ind + " -> " + mas[ind]);
}

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

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

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


 


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


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