![]() |
Связывание массивов
У меня есть 2 объекта. Они грубо говоря забирают из _root массив ATR.
в них написанно var A:Array = _root.ATR анологично во 2 ом объекте. Получается такая штука что когда я допустим в одном объекте в массиве A меняю значение A[x]['hjdsfhsdhf']=1. ТО в _root.ATR меняется значение тоже на 1. :wacko: |
Сложные типы передаются по ссылке, а не по значению.
|
Код AS1/AS2:
|
Вот уж никак не думал, что вопрос в который я уперся вчера, сегодня поднимется на форуме.
По сути понятно, а вот как избавится от этого? А у меня это всё идет ещё и глубже. Приведу свой пример: Есть некий клип-редактор. Есть главный массив в котором куча элементов. Этот главный массив, сохраняется в шареде. То есть типа так: Код AS1/AS2:
делаем так: Код AS1/AS2:
выполняем в клипе редакторе некие действия. А дальше начинается проблема: Мы что то изменяем в редакторе, и затем, мы хотим либо сохранить изменения, либо нет. Так вот не проходит такая фишка, ибо (в дебаггере замечательно видно), как только мы изменяем что то в этих дочерних массивах editorMC.array0...editorMC.array(X), то изменения сразу происходят не только в главном массиве, а и даже и в save.data.mainData. Пробовал сделать так: Сохранять данные из редактируемого элемента (перед редактированием), во временном массиве, и если не нужны изменения, восстанавливать данные из него. Прикол в том, что в нем данные точно так же изменяются, синхронно с остальными :) Как это победить? Добавлено через 1 минуту Упс, пока писал ответ уже есть :) Спасибо попробую. Я тоже подумал, что нужно использовать не простое приравнивание, а что то из других методов. |
Разве concat() не быстрее считается?
|
Попробовал так:
Код AS1/AS2:
Код:
M1:1100Должно быть: Код:
M1:1100 |
Вы сказали массив, а на деле у Вас хэш. Как вариант напишите свой clone, на базе for in.
|
Я ненастолько продвинут )
Цитата:
Добавлено через 8 минут Через циклы передачу осуществлять? Добавлено через 51 час 39 минут Разобрался со всем |
| Часовой пояс GMT +4, время: 03:19. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.