Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   как получить новый массов? (http://www.flasher.ru/forum/showthread.php?t=65165)

nuran 24.11.2004 17:11

как получить новый массов?
 
Как скопировать массив, не ссылку а массив, т.е.

someArray = someArray2
даст в someArray лишь ссылку на someArray, а как именно скопировать someArray2, чтобы в someArray оказалась его копия?

netCat 24.11.2004 17:16

через цикл push'ить элементы первого массива во второй

Nox Noctis 24.11.2004 17:20

Код:

a = [0,0,0];
b = a.concat();
b[0] = 9;
a[0] = 999;
trace(a);
trace(b);


DeliMIter 24.11.2004 17:28

Нуран, да ты никак флэш решил изучить : ))))) ?

nuran 24.11.2004 17:37

Цитата:

Оригинал написал(а) Nox Noctis
Код:

a = [0,0,0];
b = a.concat();
b[0] = 9;
a[0] = 999;
trace(a);
trace(b);


окей, а как сравнивать массивы, не уж то каждый элемент? :confused:
может что нибудь интересней есть?

a = [9,0,0];
b = a.concat();
trace(a);
trace(b);
trace(a == b);

Nox Noctis 24.11.2004 18:10

Цитата:

Оригинал написал(а) nuran
окей, а как сравнивать массивы, не уж то каждый элемент? :confused:
может что нибудь интересней есть?

нуран, ты меня убиваешь... как ты писал свои движки, не пользуясь такими вещами? :)

сравнить одномерные массивы, в которых лежат простые типы данных, можно просто преобразовав изх в строку.

а вот если в массиве встречаются объекты - тогда придется перебирать... или еще как-нибудь извращаться.

Код:

a = [9, 0, 0, "nuran", "in da actionscript"];
b = a.concat();
trace(a);
trace(b);
trace(a.join(chr(31)) == b.join(chr(31)));

chr(31) взято просто на случай если в массивах лежат строки. символ chr(31) как правило в строках не встречается :) поэтому можно его взять в качестве разделителя. (а можно при необходимости другой символ)

Штрек 24.11.2004 18:16

Цитата:

Оригинал написал(а) DeliMIter
Нуран, да ты никак флэш решил изучить : ))))) ?
Надо помочь человеку,
он легко ранимый...
или раненый.... :p

Штрек 24.11.2004 18:19

А что
a.slice(0)
не катит?

nuran 24.11.2004 18:21

Цитата:

Оригинал написал(а) DeliMIter
Нуран, да ты никак флэш решил изучить : ))))) ?
Учиться никогда не поздно, и я не стыжусь что я не всё знаю. :)



2Nox

> нуран, ты меня убиваешь... как ты писал свои движки, не пользуясь такими вещами? :)

Ну там шло сравнение поэлементно ... к томуже каждый объект имел свои функции сравнения.


типа Vector.Operater_MoreThan(someVector);

Да, похоже придётся делать перебор ...




просто большой проект делаю, приходится всё мои минусы исправлять ;)

Спасибо, нокс.

Nox Noctis 24.11.2004 18:27

Цитата:

Оригинал написал(а) Штрек
А что
a.slice(0)
не катит?

я разве говорил что не катит? :)
просто копирование конкатом уже в привычку вошло


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

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