Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как удалить элемент массива? (http://www.flasher.ru/forum/showthread.php?t=138239)

oam333 02.04.2010 15:32

Как удалить элемент массива?
 
Пользовался здесь поиском, нашел splice.
Использую так:
Код AS3:

tile_list.splice(min,1)
где min - нужный расчетный элемент

Но после такого удаления место этого элемента остается (а не удаляется) и ему присваивается undefined.
В связи с этим у меня дебаггер выдает, что часть значений массива - это цифры, а часть значений - "undefined" и длина массива не изменяется.
Как удалить элемент массива, чтобы уменьшилась его длина, а не заменялось на "undefined"? Функция pop не подходит, т.к. нужно удалять элементы в разных местах массива. Создание нового массива с отсутствующими "undefined" в цикле возможно, но нежелательно (этот способ я знаю).

udaaff 02.04.2010 15:35

Код AS3:

var a:Array = [ 1, 2, 3, 100500 ];
a.splice(2, 1);
trace(a) // 1,2,100500

Должно всё удаляться.

oam333 02.04.2010 16:00

Почему у меня тогда не хочет удаляться? Ваш пример работает.
Создается все это дело у меня так:
Код AS1/AS2:

var tile_list: Array = [];
//каждый элемент массива у меня Object
tile_list[i_tile] = new Object();
tile_list[i_tile].t_tx = tx;
 
< ... >
 
//delete tile_list[min];
tile_list.splice(min,1);

trace(tile_list):
Код AS1/AS2:

[object Object],[object Object],[object Object],[object Object],[object Object],undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,[object Object],[object Object],[object Object],[object Object]
.
.


udaaff 02.04.2010 16:36

Ищите ошибку где-то в другом месте.


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

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