Просмотр полной версии : Создать массив с именем, взятым из массива
Есть массив "А" и в нём по порядочку хранятся имена для множества других массивов, которые я собираюсь содержать по порядку, в массиве "В". Вопрос такой: как это всё оформить в коде? Самый неясный вопрос - как в выражении var b1:Array = new Array(); динамически задавать b1 ?
Малопонятный вопрос.
Вы себе хотиет иметь индексный массив или ассоциативный?
В первом случае:
arr[0]=первый эл_т
arr[1]=второй эл_т
...
arr[X]=иксный эл-т
Во втором случае это так:
arr["any_my_item"] = something;
arr["another_my_ridicuolus_item"] = some_unbelivabel;
....
arr["my_mind_overflow"] = note_enough_memory;
var b1:Array = new Array();
...
b1.push([1,1,1,1,1,1,1,1,1])
...
push - это от лукавого и Мука.
Гурский рекомендует именно arr[arr.length] и я это уже видел в ас3 как оно не так как мы думаем :)
Т.к. массивы неплотные, то я предпочитаю push)
Чтобы не ошибиться с установкой неверных значений индексов.
dark256, а чем push() плох?
Я знаю что это рекомендованно и здоровро, но после полутора дней [censored.mucho.censored] я вернулся к вышеприведенному и оно заработало.
Я не знаю что, как, и .... ну и вообще я начинающий, но пуш глючил.
Автор, может быть вам просто нужна эмуляция двумерного массива?
Например:
var a:Array = new Array();
for (i = 0; i < 10; i++)
{
a[i] = new Array();
}
Получаем 10 элементов массива a - тоже массивы.
То есть никаких имен для массивов в a не хранится, массив a уже содержит в себе другие массивы, к элементам которых обращаемся так:
a[i][j] = ....
Суть в том, что мне нужно дофига массивов, к каждому из которых я смогу обратиться по имени. В каждом из них будет 4 значения, типы данных повторяются. по два буляна и два стринга на каждый. Естественно, все эти я хочу впихнуть в один обобщающий для удобства. Было бы реально удобно динамически задать для них имена. Есть конечно обходной путь с привязкой к нумерации, но прийдётся на каждой процедуре проводить поиск по имени чтобы найти его личный номер. Несколько громоздко выйдет.
Я не опытен весьма, может просто боюсь усложнений))
Привязка к имени нужна, потому что за каждым из них закреплен объектик с соотв-щим instanceName. их полторы-две сотни в сумме..
И кстати вот сокроментальный вопрос: где Флэш хранит атрибуты стандартных компонентов? Я плясал от того, что при переходе из одного фрейма в другой, текущие значения пропадают в небытие. Решил на выгрузке каждого компонента впихнуть функцию записи данных в массив и соотв-но при загрузке - чтение из массива и расстановка значений на места. Мне эта мысль показалась простой и разумной:
Во-первых на многих компонентах необходимы индивидуальные листенеры, которые принудительно задают значения на другие компоненты.
Во-вторых, я так и не разобрался, куда же Флэш помещает всю компонентскую фигню, я бы их глобалами заделал может быть и всё)
Добавлено через 33 часа 35 минут
Всё ясно, извините за глупый вопрос)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.