![]() |
Вложенные массивы.
Как создать в одном массиве другой.
Как обратиться к этому вложенному массиву. И еще. Я тут сначала в поиске посотрел, нашел сообщение, где говориться, что во флеше нет масивов, а то что есть, это так, фигня (это вольное изложение моим языком). Как это понимать? |
Ну как обращаться, вроде нашел.
Например: dod = new Array("dod1","dod2","dod3"); dod[1]=new Array("koko1","koko2","koko3","koko3"); trace(dod[1].length); trace(dod[1][2]); Это единственный способ, есть ли еще какие варианты создания, обращения к вложенному массиву? |
http://www.flasher.ru/forum/showthre...threadid=58350
в конце страницы |
Спасибо, все понял.
|
Черт. Все равно вопросы остались.
Я лучше конкретно изложу, что мне нужно... Значит так, сначала создается один массив: 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 Т.е. по степени вложенности, скобки друг за другом. Главное - не запутаться. |
Создаёшь массив, каждым из элементов которого является также массив:
Код:
class_array = new Array();Код:
for (var i=0; i<10; i++){вместо class_array[i].push(j); можно написать class_array[i][j]=j; вроде всё.. |
нет, не всё.
если пользовать push(), то первый цикл не нужен... вроде так |
Выглядит понятно.
И просто. И даже появляются мысли о том, почему же я сам не смог это придумать. Я их гоню прочь. Благодарю всех за советы. Спасибо. Пошел пробовать. |
| Часовой пояс GMT +4, время: 07:31. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.