Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   MX: такой бред с массивами я в шоке (http://www.flasher.ru/forum/showthread.php?t=42331)

gonzalez 27.01.2003 05:10

MX: такой бред с массивами я в шоке
 
задаю массив
ba_array_original = new Array("blue", "green", "magneta", "red", "yellow");

потом пишу

ba_array = ba_array_original;

потом делаю ba_array.splice(2, 1);

и оказывается что в оригинальном массиве тоже сделан splice....

что за лажа, зачем вообще тогда делать копию если во флеше так тупо все пашет?

а с переменными такаяже бойда? или я крупно торможу тут?

DMN 27.01.2003 05:21

Вот так, например:

Код:

ba_array_original = new Array("blue", "green", "magneta", "red", "yellow");
ba_array = ba_array_original.concat();


Nox Noctis 27.01.2003 05:50

поясню что сказал ДМН :)

написав имя_массива = имя_другого_массива; ты всего лишь сделаешь еще одну ссылку на уже существующий массив.
то есть в памяти существует один массив - но на него ссылаются две разные переменные.

с любым объектом будет то же самое.

тебе в данном случае нужно скопировать объект...
можно так, как сделал ДМН -
функция конкат возвращает НОВЫЙ массив сделанный из того,
что ей передали в параметрах и того, что было исходно.
поскольку параметров нет - то и возвращается точная копия исходного массива.

с переменными типа "строка" и "число" такой заморочки нет.

gonzalez 27.01.2003 06:57

спасибо огромное :)
 
все понял - все заработало как надо :)


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

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