Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.03.2008, 14:06
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 1  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Question Удалить элемент из массива

Здрасьте! Мне очень стыдно, но я прошу помощи в следующей простой задаче:
Код:
var arr:Array = new Array (clip1, clip2, clip3);
Есть массив клипов. Из него нужно удалить элемент, например clip2. Сделать это нужно методом
Код:
arr.splice(k, 1);
где k - это номер элемента в массиве. Но как мне узнать какой по счету clip2? Я метод этот не вижу в хэлпе .

Старый 05.03.2008, 14:07
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Перебором массива.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 05.03.2008, 14:29
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 3  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Спасибо, iNils. Понял. Думал может существует какой-нибудь специальный метод...

Старый 05.03.2008, 14:34
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Если не важен порядок элементов в массиве, то стоит обратить свой взор в сторону ассоциативного массива.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 05.03.2008, 14:46
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 5  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Порядок совершенно не важен. Про ассоциативный массив ничего не знаю. Но воспользуюсь советом и обязательно прочитаю. Спасибо!

Прочитал... Ассоциативный не подойдет, т.к. нужно будет добавлять и удалять элементы, а такой массив не поддерживает методы обычного массива, т.е. я не смогу прочитать длину, "вырезать" элемент и т.д.


Последний раз редактировалось Волгоградец; 05.03.2008 в 15:00.
Старый 05.03.2008, 15:16
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 6  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
for .. in для перебора подходит
__________________
: M F N W :

Старый 05.03.2008, 15:43
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от Волгоградец
Прочитал... Ассоциативный не подойдет, т.к. нужно будет добавлять и удалять элементы, а такой массив не поддерживает методы обычного массива, т.е. я не смогу прочитать длину, "вырезать" элемент и т.д.
Ну... Все не так печально. Можно расширить массив добавив свои методы и свойства.
Пример класса
Код:
class Array2 extends Array {
	private var __len:Number = null;

	function Array2 () {
		super ();
		__len = 0;
	}
	function addItem (o:Object):Void {
		this[o] = o;
		__len++;
	}
	function removeItem (o:Object):Void {
		delete this[o];
		__len--;
	}
	public function get length ():Number {
		return __len;
	}
}
применение
Код:
var a = new Array2 ();
a.addItem ("a");
trace ("len " + a.length)
a.addItem ("b");
trace ("len " + a.length)
a.addItem (3);
trace ("len " + a.length)
trace (a["a"] + " " + a[3])
a.removeItem ("a");
trace ("len " + a.length)
результат
Цитата:
len 1
len 2
len 3
a 3
len 2
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 05.03.2008, 15:49
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 8  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Все равно ассоциативный неудобно использовать - надо задавать пару имя-значения, а это лишние строчки кода. Плюс он удобен когда часто используются одни и те же значения. В моем случае динамически создаются и удаляются клипы - их достаточно много. Для каждого генерировать имя-значения - мне кажется это неправильно. Может я не в том направлении думаю?

Upd. (после прочтения поста #7):
Вот это да, iNils, ты крут! Я буду юзать этот массив. Назову его InilsArray...


Последний раз редактировалось Волгоградец; 05.03.2008 в 15:55.
Старый 05.03.2008, 15:54
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 9  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Где вы видели в моем примере пару имя/значение?
Только само значение, которое класс также использует как имя.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 05.03.2008, 16:19
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 10  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Это я писал до того, как прочитал ваш пример. Спасибо!

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:29.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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