![]() |
|
||||||||||
|
|||||
|
Доброго времени суток!
Подскажите, пожалуйста, как мне замутить трехмерный массивчик с вложенными объектами? Пример(просто сам алгоритм): a[0] = "aga"; a[0][0]="ugu"; a[0][1]="ugu2"; a[0][1][0].name = "ege"; a[0][1][0].num = 10; a[0][1][0].txt = "bla bla bla"; при этом каким-то образом желательно получать объем каждого массива в отдельности. То есть a[].length = 1,a[][].length=2,a[][][].length=0. p.s. Темно уже на улице, может и туплю чего не обессудьте))
__________________
uglan |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Здравствуйте uglan!
Мне не совсем понятна целесообразность конструкций: Цитата:
А вообще многомерный массив можно создать с использованием литерала, пример: Причем обращение будет ссылаться не на один единственный элемент массива, а на массив ["aga","ugu"] и поэтому присвоив вы замените массив ["aga","ugu"] на "aga". Теперь, если Вы хотите вложить объект (скажем инстанцию Object) в трехмерный массив лучше сделать это так: или так
__________________
Случайность, господа, это знаете ли непознанная необходимость. Последний раз редактировалось Alex_beginner; 26.06.2008 в 11:31. |
|
|||||
|
Проблема в том что даже двумерный массив такого вида ничего не возвращает:
результат "aga" результат undefined результат undefined
__________________
uglan |
|
|||||
|
А подобный вид
var a:Array =new Array(); a[0] = "aga"; trace(a[0]); a[[0],[0]] = "ugu" trace(a[[0],[0]]+"/"+a[[0],[0]].length); ------------------------------------- Объясню для чего мне это нужно. Мне нужна некая трехуровневая структура иерархического типа в которой будут храниться данные. Причем класс на каждом уровне может быть разный. Пример: FirstLevel1(name - "FLevel1") --SecondLevel1(name - "SLevel1") ----ThirdLevel1(name = "TLevel1",desc="desc TLevel1",index="1" и т.д.) ----ThirdLevel2(name = "TLevel1",desc="desc TLevel1",index="1" и т.д.) ----ThirdLevel3(name = "TLevel1",desc="desc TLevel1",index="1" и т.д.) ----ThirdLevel4(name = "TLevel1",desc="desc TLevel1",index="1" и т.д.) --SecondLevel2(name - "SLevel2") ----ThirdLevel1(name = "TLevel1",desc="desc TLevel1",index="1" и т.д.) ----ThirdLevel2(name = "TLevel1",desc="desc TLevel1",index="1" и т.д.) --SecondLevel2 --SecondLevel3 Структура создается динамически, поэтому изначально нельзя определить размер массива.
__________________
uglan Последний раз редактировалось uglan; 26.06.2008 в 11:57. |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
uglan! Вы поймите следущее. Если Вы создали массив это не значит, что в каждой ячейке его можно создать свойство и присвоить ему значение. Это можно сделать только после создания инстанции Object в ячеке массива.
Сделайте так: в этом примере поменяйте так: В любом случае Вы не можете динамически менять размерность массива не теряя записанных на предыдущем этапе значений.
__________________
Случайность, господа, это знаете ли непознанная необходимость. Последний раз редактировалось Alex_beginner; 26.06.2008 в 12:05. |
|
|||||
|
А вот так не работает.
undefined И опять таки вот такой код Не возвращает нужного значения.
__________________
uglan |
|
|||||
|
Мне кажется массив удобнее(без заморочки с кучей childNodes), если он вообще может работать с тройной структурой.
__________________
uglan |
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
|
![]() |
![]() |
Часовой пояс GMT +4, время: 04:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|