Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Массив объектов (http://www.flasher.ru/forum/showthread.php?t=115658)

telit 05.09.2008 20:06

Массив объектов
 
как скопировать оъект одного массива в объект другого не по ссылке?

BlooDHounD 05.09.2008 20:15

slice

telit 05.09.2008 20:40

slice() НЕ РАБОТАЕТ!
Код:

var a:Array = []

for (var i:int = 0; i<2; i++){
        a[i] = [];
        //b[i] = [];
       
        for (var j:int = 0; j<2; j++)
        {
                a[i][j] = {type1:j};
        }
}

var b:Array = a.slice();

trace(a[1][1].type1); // 1
trace(b[1][1].type1); // 1

b[1][1].type1 = 2;

trace(a[1][1].type1); // 2
trace(b[1][1].type1); // 2


iNils 05.09.2008 20:51

Объекты нельзя скопировать, можно только создать новый объект.

Chas 05.09.2008 21:05

почему низя копировать. Все можно.
Код:

function clone(source:Object):* {
    var copier:ByteArray = new ByteArray();
    copier.writeObject(source);
    copier.position = 0;
    return(copier.readObject());
}

версию для AS2 я тоже писал. Рекурсивно пробегала все элементы объекта(включая приватные, благодаря хаку) и копировала.

iNils 05.09.2008 21:19

Мне показалось, что это раздел AS1/AS2, в AS3 можно.

2 Chas, рекурсия не копирует, а создает новый объект, об этом я и говорил.

BlooDHounD 05.09.2008 21:39

Chas, ваш код не работает с не динамическими свойствами :)

telit 05.09.2008 21:42

to Chas:
Спасибо огромное!!!!

Chas 05.09.2008 22:05

2BloodHound: да, не работает. Но парню вполне покатит.

etc 05.09.2008 23:33

Цитата:

Сообщение от Chas (Сообщение 762626)
версию для AS2 я тоже писал. Рекурсивно пробегала все элементы объекта(включая приватные, благодаря хаку) и копировала.

Приватные в ас2?


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

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