![]() |
как получить новый массов?
Как скопировать массив, не ссылку а массив, т.е.
someArray = someArray2 даст в someArray лишь ссылку на someArray, а как именно скопировать someArray2, чтобы в someArray оказалась его копия? |
через цикл push'ить элементы первого массива во второй
|
Код:
a = [0,0,0]; |
Нуран, да ты никак флэш решил изучить : ))))) ?
|
Цитата:
может что нибудь интересней есть? a = [9,0,0]; b = a.concat(); trace(a); trace(b); trace(a == b); |
Цитата:
сравнить одномерные массивы, в которых лежат простые типы данных, можно просто преобразовав изх в строку. а вот если в массиве встречаются объекты - тогда придется перебирать... или еще как-нибудь извращаться. Код:
a = [9, 0, 0, "nuran", "in da actionscript"]; |
Цитата:
он легко ранимый... или раненый.... :p |
А что
a.slice(0) не катит? |
Цитата:
2Nox > нуран, ты меня убиваешь... как ты писал свои движки, не пользуясь такими вещами? :) Ну там шло сравнение поэлементно ... к томуже каждый объект имел свои функции сравнения. типа Vector.Operater_MoreThan(someVector); Да, похоже придётся делать перебор ... просто большой проект делаю, приходится всё мои минусы исправлять ;) Спасибо, нокс. |
Цитата:
просто копирование конкатом уже в привычку вошло |
не думайте что я совсем уж глупый ;) просто ищу самые лучшие пути реализации :)
надо двигаться в ногу со временем :) |
Кстати, чтобы это работало, у всех объектов в массове должны быть методы toString ();
|
Цитата:
|
Не, мы тебя не считаем совсем глупым : )))
Лан, это я просто жестко излагаю то, что Нокс сказал мягко. Очень странным смотрятся рядом авторство трехмерных движков и... нет, не незнание. Ни в коем случае. Не знать - это личное право каждого. Но - неспособность самому придумать алгоритм, отыскав для этого достаточно несложные (а операции с массивами в хелпе отнюдь не спрятаны) ходы. Вот что настораживает. Трехмерные расчеты - это достаточно сложная и кропотливая работа, требующая внимания, усердия, и действительно способности находить решения, не лежащие на поверхности. Не подумай, никаких упреков, никаких претензий, только вот это странное чувство несоответствия... |
О боже! Опять намёки на плагиат :(
|
Цитата:
|
нужно джойнить с таким разделителем, который гарантированно не встречается внутри элементов массивов.
иначе получится вот что: a = ["test1,test2", "test3"]; b = ["test1", "test2", "test3"]; trace(b.join() == a.join()); выдаёт true, хотя массивы имеют разные элементы. |
Тонко! Спасибо, Нокс : )
|
| Часовой пояс GMT +4, время: 00:31. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.