![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2010
Сообщений: 90
|
Доброго дня, столкнулся с небольшой задачкой и никак не могу ее решить.
У меня массив info_list, который содержит ссылки на клипы. Каждый клип имеет уникальное имя. В определенные моменты я удаляю определенные клипы (с этим проблем нет через перебор for), но вот как мне найти нужную ссылку на клип в массиве, что бы удалить ее? Ведь индекс удаляемого клипа не известен, только его имя, соответственно ни splice, ни shift, ни pop не работают. А так массив постоянно заполняется, когда я создаю новые клипы и фпс заметно падает. Пробовал через перебор For и сравнение имени у ссылки на клип с передаваемым, а затем info_list.splice(0, 1, info_list[temp]) - не работает, удаляется только ссылка на 1й клип, а я могу удалять сразу несколько, пробовал просто info_list.splice(info_list[temp], 1) - так вообще абы какие клипы удаляются. Пожалуйста, подскажите кто-нибудь. Последний раз редактировалось HorusWM; 01.06.2011 в 14:37. |
|
|||||
|
в удаляемый клип, при его создании, записывайте ссылку на элемент массива.
мой_клип.ссылка = номер_элемента_массива Перед удалением клипа - удаляйте элемент по ссылке. К примеру. |
|
|||||
|
Регистрация: Sep 2010
Сообщений: 90
|
Благодарю за отклик, можно было сделать так, но нашел другой выход) Весь вечер вчера голову ломал, сразу не дошло: перебор делать через цикл for (i=0.. и далее сравнивать имя искомого индекса, а я перебирал только по самим ссылка в массиве. Задача решена, но всеравно спасибо, dark.
|
|
|||||
|
ну в общем да, для индексированных массивов счетный цикл самое то
![]() for in имеет смысл применять, если индекс массива - литерал. Типа имя_массива["Возраст"] = 666 ![]() |
|
|||||
|
Регистрация: Sep 2010
Сообщений: 90
|
Вы имеете ввиду, если в массиве хранятся не ссылки на инстансы, а просто строковые значения?
|
|
|||||
|
Нет, если индекс элемента массива выглядит не так:
arr[0] arr[1] arr[2] А так: arr["Vasia"] arr["Katia"] arr["iNills"] |
|
|||||
|
Регистрация: Sep 2010
Сообщений: 90
|
но это всеравно могут быть ссылки на инстансы? если да, то как добавлять тогда таким образом индексы, push("Vasya") ?
|
|
|||||
|
в самом элементе хранить можно все что угодно.
а push.... я обычно добавляю так: array[array.length] = очередные_данные_какие-то_любые ![]() Добавляется в конец и нормально увеличивается размер. В вашем случае ничего не надо добавлять, по сути. arr["Vasia"] = 100500 - это само по себе создаст в массиве элемент с таким индексом ![]() |
|
|||||
|
Регистрация: Sep 2010
Сообщений: 90
|
аа, понял.. это удобно для сортировки потом, но это, получается, подходит только для заполнения вручную? скажем, если эл-тов очень много (ну, скажем, уже больше десятка), то процесс не автоматизировать?
|
|
|||||
|
Смотря откуда вы берете данные.
Ну и литерал собссно тоже можно генерить как угодно. Например из индексов символов собирать строки. |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|