![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2003
Адрес: Россия, Москва
Сообщений: 27
|
Как создать в одном массиве другой.
Как обратиться к этому вложенному массиву. И еще. Я тут сначала в поиске посотрел, нашел сообщение, где говориться, что во флеше нет масивов, а то что есть, это так, фигня (это вольное изложение моим языком). Как это понимать? |
|
|||||
|
Регистрация: Nov 2003
Адрес: Россия, Москва
Сообщений: 27
|
Ну как обращаться, вроде нашел.
Например: dod = new Array("dod1","dod2","dod3"); dod[1]=new Array("koko1","koko2","koko3","koko3"); trace(dod[1].length); trace(dod[1][2]); Это единственный способ, есть ли еще какие варианты создания, обращения к вложенному массиву? |
|
|||||
|
Регистрация: Jan 2004
Адрес: нигде - не осталось на Земле свободных земель(
Сообщений: 1,176
|
http://www.flasher.ru/forum/showthre...threadid=58350
в конце страницы |
|
|||||
|
Регистрация: Nov 2003
Адрес: Россия, Москва
Сообщений: 27
|
Спасибо, все понял.
|
|
|||||
|
Регистрация: Nov 2003
Адрес: Россия, Москва
Сообщений: 27
|
Черт. Все равно вопросы остались.
Я лучше конкретно изложу, что мне нужно... Значит так, сначала создается один массив: if (success == true) { for (i=0; i<links.firstChild.childNodes.length; i++) { class[i] = links.firstChild.childNodes[i].attributes.inf; потом всякая вигня с ним. Там копируются кнопки и к ним присваиваются разные действия. А вот затем, мне нужно в каждом из эллементов этого массива сделать еще один массив и присвоить туда значения из xml файла. То, что я делал нифига не работает. А как сделать правильно, незнаю. for (z=0; z<links.firstChild.childNodes[i].childNodes.length; z++) { class[[i][z]] = links.firstChild.childNodes[i].childNodesхz].childNodes[0].childNodes; trace(class[[i][z]]); } } } Когда этот скрипт выполняется, выводится значение только первого массива. Все остальные - undefined. Вот на всякий случай кусок xml, откуда все это берется: <links_xml> <class inf="класс1"> <link> <link>ссылка1</link> <info>инфа1</info> </link> <link> <link>ссылка2</link> <info>инфа2</info> </link> ... ... </class> <class inf="класс2"> ... ... </class> </links_xml> |
|
|||||
|
Не, этак ты далеко не уедешь... Правильно class[i][z] = значение. К сколь угодно вложенному массиву можно обратиться именно таким образом
myArray = [ [ [ [0, 1], [2, 3] ], [7, 7] ] ] myArray[0][0][1][0] // значение 2 Т.е. по степени вложенности, скобки друг за другом. Главное - не запутаться.
__________________
За двумя зайцами погонишься - от егеря по морде получишь |
|
|||||
|
Регистрация: Jan 2004
Адрес: нигде - не осталось на Земле свободных земель(
Сообщений: 1,176
|
Создаёшь массив, каждым из элементов которого является также массив:
а потом заполняешь каждый из этих массивов вместо class_array[i].push(j); можно написать class_array[i][j]=j; вроде всё.. |
|
|||||
|
Регистрация: Jan 2004
Адрес: нигде - не осталось на Земле свободных земель(
Сообщений: 1,176
|
нет, не всё.
если пользовать push(), то первый цикл не нужен... вроде так |
|
|||||
|
Регистрация: Nov 2003
Адрес: Россия, Москва
Сообщений: 27
|
Выглядит понятно.
И просто. И даже появляются мысли о том, почему же я сам не смог это придумать. Я их гоню прочь. Благодарю всех за советы. Спасибо. Пошел пробовать. |
![]() |
Часовой пояс GMT +4, время: 23:34. |
|
|
« Предыдущая тема | Следующая тема » |
|
|