Я использовал эту строку кода, чтобы удалить элемент:AS3 Удаление объекта из массива?
tiles.splice(tiles.indexOf(tiles[i]), 1);
Но потом, когда я проверяю значение, это все еще не пустой, на самом деле, он все еще содержит мувиклип она была внутри него.
Это работало, хотя:
tiles[tr] = null;
Вопрос заключается в том, это еще хорошо, чтобы сделать это, как это? У меня есть мувики, добавленные и удаленные в этот массив, и я набираю removeChild (плитки [tr]; перед удалением из массива.
Я просто не хочу встретить какую-то страшную работу в будущем,
Спасибо.
'tiles.splice (i, 1)' будет работать, не нужно использовать 'indexOf', посмотрите, устраняет ли это проблему. Также вы хотите иметь содержимое элемента (например, мувиклип), помеченного для коллекции мусора, или просто удалить его из массива? –
@Sim Просто хочу, чтобы его удаляли из массива, он больше не понадобится. – Radicate
Хорошо 'splice (..)' удаляет элемент, а затем сдвигает остальные элементы на одну позицию, поэтому, если вы соедините второй элемент в массив, 3-й элемент будет перемещаться вверх, чтобы занять положение 2-го, 4-й будет перемещаться на 3-ю позицию и т. д. Возможно, поэтому ваш след все еще говорит, что в этом месте есть что-то в этой позиции. –