Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Перебрать ассоциированный массив (http://www.flasher.ru/forum/showthread.php?t=129939)

_moscow 14.09.2009 12:52

Перебрать ассоциированный массив
 
Всем привет !

есть массив

Код AS3:

var My_Array:Array new Array();
 
    My_Array["a"] = "aaaa";
    My_Array["b"] = "bbbb";
    My_Array["c"] = "cccc";
    My_Array["d"] = "ddddd";


Можно его как-то перебрать под цИклом (for) ???

relevance4 14.09.2009 12:54

Код AS3:

for(key in array)
{
trace(array[key]);
}


incorp 14.09.2009 13:01

по-моему в третьем скрипте модно делать так:

Код AS3:

for each(var i:String in My_Array)
trace(i);


etc 14.09.2009 13:55

incorp, это разные типы переборов, а не «модно».

Felicast 14.09.2009 14:08

а с каких пор массив в as3 - ассоциативный?
я думаю правильнее будет так:
Код AS3:

var My_Array:Object = new Object();
 
    My_Array["a"] = "aaaa";
    My_Array["b"] = "bbbb";
    My_Array["c"] = "cccc";
    My_Array["d"] = "ddddd";

или вообще Dictionary

etc 14.09.2009 14:11

Цитата:

Сообщение от Felicast (Сообщение 850649)
а с каких пор массив в as3 - ассоциативный?

С рождения :quiet:

Felicast 14.09.2009 14:20

Цитата:

Сообщение от etc (Сообщение 850651)
С рождения :quiet:

это скорее Object является ассоциативным. а Array просто наследует это поведение.

я даже посмотрел в хелп специально:
Цитата:

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.

AL.exe 14.09.2009 18:03

Ну, не написано же, что нельзя. Просто не рекомендуется =)

ripeLime 14.09.2009 18:41

Цитата:

Сообщение от _moscow (Сообщение 850622)
Всем привет !

есть массив

Код AS3:

var My_Array:Array new Array();
 
    My_Array["a"] = "aaaa";
    My_Array["b"] = "bbbb";
    My_Array["c"] = "cccc";
    My_Array["d"] = "ddddd";


Можно его как-то перебрать под цИклом (for) ???

Код AS3:

for (var i:Number = 97;i <= 122;i++) {
  var letter:String = String.fromCharCode(i);
  trace(My_Array[letter]);
}


Felicast 15.09.2009 13:01

Цитата:

Сообщение от ripeLime (Сообщение 850775)
Код AS3:

for (var i:Number = 97;i <= 122;i++) {
  var letter:String = String.fromCharCode(i);
  trace(My_Array[letter]);
}


вы издеваетесь?


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

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