Форум 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=88885)

Laurelis 03.12.2006 15:40

создание многочисленных объектов?
 
Доброго времени суток.
Возникла проблема: через цикл нужно создать i объектов с 3 свойствами,
в каждом объекте значение свойства тоже зависят от i. Подробнее:
идёт первый проход i=1 цикла создаётся объект Obj(i), (т.е. Obj1) = {prop1: (значение вынимается из массива arrVop[i], т.е. arrVop[1]), prop2: (значение вынимается из массива arrOt[i], т.е. arrOt[1]), 3-е свойство аналогично из другого массива }
каким образом можно это реализовать.

я написал так
Код:

for (var i=1; i<kolTest[nomerUroka]; i++) {
        nomerO = i;
        voprosiO = arrVoprosi[i];
        otvetiO = arrOtveti[i];
               
        var eval("tRes"+i) = {Nomer: nomerO, Voprosi:voprosiO, Otveti:otvetiO}
};

ругается на синтаксис в строке "var eval...." причём на левую часть - это точно
Спасибо.

iNils 03.12.2006 15:55

Код:

for (var i = 1; i < kolTest[nomerUroka]; i++) {
        nomerO = i;
        voprosiO = arrVoprosi[i];
        otvetiO = arrOtveti[i];
        this["tRes" + i] = {Nomer:nomerO, Voprosi:voprosiO, Otveti:otvetiO};
}


Laurelis 03.12.2006 17:30

Спасибо, но что не работает код.
делаю trace(tRes_любой номер_) говорит неопределено....

iNils 03.12.2006 17:34

Код:

for (var i = 1; i < 5; i++) {
        this["tRes" + i] = i;
}
trace (tRes1);
trace (tRes2);
trace (tRes3);
trace (tRes4);

работает?

Кстати, массивы имеют нумерацию элементов с 0, а не с 1.

Laurelis 03.12.2006 18:35

про нумерацию я в курсе, это специально сделано.

последний вариант кода работает. выводит 1 2 34
Предпоследний - всё также - неопределено

iNils 03.12.2006 19:13

Цитата:

Сообщение от Laurelis
про нумерацию я в курсе, это специально сделано.

последний вариант кода работает. выводит 1 2 34
Предпоследний - всё также - неопределено

Это 3-ый который?

Laurelis 03.12.2006 19:23

Код:

for (var i = 1; i < kolTest[nomerUroka]; i++) {
        nomerO = i;
        voprosiO = arrVoprosi[i];
        otvetiO = arrOtveti[i];
        this["tRes" + i] = {Nomer:nomerO, Voprosi:voprosiO, Otveti:otvetiO};
}

вот этот неопределено выдаёт, хотя на синтаксис не жалуется.

iNils 03.12.2006 19:25

Цитата:

Сообщение от Laurelis
Код:

for (var i = 1; i < kolTest[nomerUroka]; i++) {
        nomerO = i;
        voprosiO = arrVoprosi[i];
        otvetiO = arrOtveti[i];
        this["tRes" + i] = {Nomer:nomerO, Voprosi:voprosiO, Otveti:otvetiO};
}

вот этот неопределено выдаёт, хотя на синтаксис не жалуется.

Без общего контекста не понятно. Я вам предлагаю отказаться от this["tRes" + i] и помещать все в массив.

Laurelis 03.12.2006 19:28

хорошо.
Спасибо за помощь.


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

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