Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   имя обьекта из нескольких переменных (http://www.flasher.ru/forum/showthread.php?t=103384)

vanguish 04.11.2007 15:22

имя обьекта из нескольких переменных
 
Здравствуйте побратимы! Нужна помощь в составлении имени обекта из нескольких переменных.
есть такая функция, создающая масивы из хмл дерева:
Код:

criate_mane_item_item_arr_function = function (k) {
        for (var i = 0; i<total_mane_1_item; i++) {
                _root['mane_'+k+'_item_'+i+'_arr'] =mane_item_arr[i].childNodes;
        }
};

и возникает вопрос! как во вторую часть равенства вставить переменную "К" , чтоб работало выражение mane_+К+_item_arr[i].childNodes;?

iNils 04.11.2007 16:07

Для оформления своего кода, надо использовать теги [code][/code].
Я что то не понял структуры xml, покажите пример.

vanguish 04.11.2007 17:34

Извените за мой немецкий, если я неудачно обьяснил, но у меня вопрос не по структуре хмл , а по составлению имени какого-нить обьекта из нескольких переменных. В моём случае надо вставит переменную "К" в строку, а точнее в имя масива!
таким образом, как написать эту строку чтоб она была правельной?
Код:

name+K+_arrey[i].childNodes;
где поставить кавычки и квадратные скобки? "К" - это переменная

iNils 04.11.2007 17:38

11000
 
Так это у вас массив. В левой части есть хороший пример
_root['mane_'+k+'_item_'+i+'_arr'], для правой части нужно использовать его аналогию, только вместо _root писать this, при успловии, что этот массив у вас в этой же области видимости.

vanguish 04.11.2007 18:28

Левую часть я прекрасно понимаю, сам пишу код, но мне надо правая часть именно такой формы: name+K+_arrey[i].childNodes, чтоб "К" была посредине имени мвссива. Как написать эту часть правельно?
варианты типа : "name"+K+"_arrey"[i].childNodes или ["name"+K+"_arrey"[i]].childNodes ['name'+K+'_arrey['+i+']'].childNodes не работают, так как правельно? Напишите конкретный код, тут всего одна строчка............ плз

iNils 04.11.2007 19:12

Перечитайте мой пост (№4) еще раз, там все написано.

vanguish 04.11.2007 19:41

Ты не поймёшь никак, надо именно такой формы как я прошу, именно она у меня не получается : name+K+_arrey[i].childNodes , видишь там в конце стоит элимент масива [i] ! его нужно оставить, без него я могу хоть сто переменных влипить в имя , а вот с этим элиментом не выходит. а в четвёртом посте без этого элимента!!!

если можешь, напиши правельный вариант, код напиши.!!!

MOHCTEP 04.11.2007 19:58

Код:

this["name"+K+"_arrey["+i+"]"].childNodes

iNils 04.11.2007 20:06

Предсловие: если вы думаете, что я вам просто дам голый ответ и вы радостный отсюда уйдете и больше не появитесь, то ошибаетесь. Моя цель заставить вас напрячь мозги и найти ответ самому с помощью моих подсказок... ну или вам придется ждать доброго самаритянина :)
Доступ к элементу массива происходит по схеме:

имя_массива[индекс_в_массиве].

Вам нужно сформировать ИМЯ, вы запихиваете его в [], как сделали это в первом посте, я вам подсказал, что _root можно заменить на this и при каких условиях.

А теперь подумайте и скажите, если вы формуруете внутри [] имя массива, то какого лешего вы суете внутрь еще доступ к индексу массива, делая его частью имени? То есть имя_массива = this[ля-ля-ля].


PS. MOHCTEP, вы тоже ерунду написали, читайте почему.

wvxvw 04.11.2007 20:38

Аватар как нельзя лучше объясняет сущность вопроса :D
Ну вот как ты это слева от "=" написал, так же и справа от "=" напиши. :D


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

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