![]() |
|
||||||||||
|
|||||
|
задаю массив
ba_array_original = new Array("blue", "green", "magneta", "red", "yellow"); потом пишу ba_array = ba_array_original; потом делаю ba_array.splice(2, 1); и оказывается что в оригинальном массиве тоже сделан splice.... что за лажа, зачем вообще тогда делать копию если во флеше так тупо все пашет? а с переменными такаяже бойда? или я крупно торможу тут? |
|
|||||
|
Регистрация: Mar 2002
Сообщений: 204
|
Вот так, например:
__________________
--- 8< --- 8< --- 8< --- |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
поясню что сказал ДМН :)
написав имя_массива = имя_другого_массива; ты всего лишь сделаешь еще одну ссылку на уже существующий массив. то есть в памяти существует один массив - но на него ссылаются две разные переменные. с любым объектом будет то же самое. тебе в данном случае нужно скопировать объект... можно так, как сделал ДМН - функция конкат возвращает НОВЫЙ массив сделанный из того, что ей передали в параметрах и того, что было исходно. поскольку параметров нет - то и возвращается точная копия исходного массива. с переменными типа "строка" и "число" такой заморочки нет. Последний раз редактировалось Nox Noctis; 27.01.2003 в 05:52. |
|
|||||
|
все понял - все заработало как надо
![]() |
![]() |
Часовой пояс GMT +4, время: 21:53. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|