As3 - Как очистить массив эффективно?

Я надеялся очищать массив в ActionScript 3.

Некоторый метод предлагает: array = []; (Утечка памяти?)

Другой сказал бы: array.splice(0);

Если у Вас есть кто-либо другой, совместно используйте. Какой является более эффективным?

Спасибо.

20
задан ketan 30 September 2015 в 11:46
поделиться

2 ответа

array.length = 0 или array.splice(), кажется, работают лучше для общей производительности.

array.splice(0); будет работать быстрее, чем array.splice(array.length - 1, 1);

29
ответ дан 29 November 2019 в 23:52
поделиться

Интересно, почему вы хотите очистить массив таким образом? очистка всех ссылок на этот самый массив сделает его доступным для сборки мусора. array = [] будет делать это, если array является единственной ссылкой на массив . если это не так, то, возможно, вам не следует его пустить (?)

, обратите внимание, что массивы принимают строки в качестве ключей. и splice, и lenght работают исключительно с целочисленными ключами, поэтому они не будут иметь никакого эффекта на строковые ключи.

кстати .: array.splice (array.length - 1, 1); эквивалентно array.pop ();

2
ответ дан 29 November 2019 в 23:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: