Просмотр полной версии : имя обьекта из нескольких переменных
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;?
Для оформления своего кода, надо использовать теги .
Я что то не понял структуры xml, покажите пример.
vanguish
04.11.2007, 17:34
Извените за мой немецкий, если я неудачно обьяснил, но у меня вопрос не по структуре хмл , а по составлению имени какого-нить обьекта из нескольких переменных. В моём случае надо вставит переменную "К" в строку, а точнее в имя масива!
таким образом, как написать эту строку чтоб она была правельной?
name+K+_arrey[i].childNodes;
где поставить кавычки и квадратные скобки? "К" - это переменная
Так это у вас массив. В левой части есть хороший пример
_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 не работают, так как правельно? Напишите конкретный код, тут всего одна строчка............ плз
Перечитайте мой пост (№4) еще раз, там все написано.
vanguish
04.11.2007, 19:41
Ты не поймёшь никак, надо именно такой формы как я прошу, именно она у меня не получается : name+K+_arrey[i].childNodes , видишь там в конце стоит элимент масива [i] ! его нужно оставить, без него я могу хоть сто переменных влипить в имя , а вот с этим элиментом не выходит. а в четвёртом посте без этого элимента!!!
если можешь, напиши правельный вариант, код напиши.!!!
this["name"+K+"_arrey["+i+"]"].childNodes
Предсловие: если вы думаете, что я вам просто дам голый ответ и вы радостный отсюда уйдете и больше не появитесь, то ошибаетесь. Моя цель заставить вас напрячь мозги и найти ответ самому с помощью моих подсказок... ну или вам придется ждать доброго самаритянина :)
Доступ к элементу массива происходит по схеме:
имя_массива[индекс_в_массиве].
Вам нужно сформировать ИМЯ, вы запихиваете его в [], как сделали это в первом посте, я вам подсказал, что _root можно заменить на this и при каких условиях.
А теперь подумайте и скажите, если вы формуруете внутри [] имя массива, то какого лешего вы суете внутрь еще доступ к индексу массива, делая его частью имени? То есть имя_массива = this[ля-ля-ля].
PS. MOHCTEP, вы тоже ерунду написали, читайте почему.
Аватар как нельзя лучше объясняет сущность вопроса :D
Ну вот как ты это слева от "=" написал, так же и справа от "=" напиши. :D
iNils Вы правы. Сорри
this["name"+K+"_arrey"][i].childNodes
Так надо?
vanguish
05.11.2007, 14:22
МОНСТЕР - ты наверно тот добрый самаритянин о котором говорил iNils,
твой код сто пудов правельный , то что мне и надо, но жаль я сам до него доехал,потратив времени, но все равно спасибо!
И iNilsу спасиба, разве что совет: Последняя твоя подсказка прям в цель, но надо сразу было её кидать, а не вымучивать!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.