Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Просмотр ассоциативного массива в обратном порядке (http://www.flasher.ru/forum/showthread.php?t=61674)

Lego 09.08.2004 15:02

Просмотр ассоциативного массива в обратном порядке
 
Столкнулся с такой проблемой. Создаю массив

Код:

        arr = new Array();
        arr["arrname"] = "3";
        arr["arrvalue"] = "6";
        arr["arrcnt"] = "9";
        for(var key in arr) {
                trace(arr[key]);
        }

Как результат, оно выводит

9
6
3

Подскажите, пожалуйста, каким образом мона изменить, чтобы выводилось в таком же порядке, в котором и создается:

3
6
9

Спасибо.

DeliMIter 09.08.2004 15:14

Создай массив, запихни туда значения, реверсни.

opex 09.08.2004 15:14

1
Код:

arr = new Array();
name = new Array("arrname", "arrvalue", "arrcnt");
arr["arrname"] = "3";
arr["arrvalue"] = "6";
arr["arrcnt"] = "9";
for (i=0; i<name.length; i++) {
        trace(arr[name[i]]);
}

2
Код:

arr = new Array();
arr["arrcnt"] = "9";
arr["arrvalue"] = "6";
arr["arrname"] = "3";
for (var key in arr) {
        trace(arr[key]);
}


Nox Noctis 09.08.2004 15:16

если у тебя в качестве либо ключа либо значения в массиве идут целые числа - то гораздо удобнее использовать обыкновенный массив. один вызов Array.reverse решает проблему.

а for .. in всегда перебирает элементы в порядке обратном том в котором они были созданы. т.е. самый новый первым, потом тот который был создан пере ним и т п.

Nox Noctis 09.08.2004 15:17

да и вообще. если важен порядок элементов - то for .. in использовать не особо грамотно...

зы: а первый вариант opex'а совсем неплох.
только это всё равно лишний наворот здесь.

Lego 09.08.2004 15:25

Яфно. Значит никак нельзя.
Да думал я сделать подобно тому, как показал выше уважаемый Орех. Но как-то это подобно чесанию левого уха правой рукой через затылок.
Ладно. Прийдется чесать :D .

Всем большое спасибо.

opex 09.08.2004 15:31

Цитата:

Оригинал написал(а) Lego
Но как-то это подобно чесанию левого уха правой рукой через затылок.

Кстати очень удобно =)


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

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