Как удалить все значения из объектного ассоциативного массива во Flex? - PullRequest
2 голосов
/ 07 января 2011

Есть ли более быстрый способ, кроме итерации по всем записям в ассоциативном массиве

Относится к - Как удалить значение из объектного ассоциативного массива во Flex 3?

Ответы [ 2 ]

3 голосов
/ 09 января 2011

Существует несколько решений для очистки ассоциативного массива (который аналогичен динамическому объекту):

  1. Самое быстрое назначение - новый массив,В большинстве случаев это будет предпочтительным решением.

    myArray = [];
  2. Удаление всех ключей из массива.Это будет иметь тот же эффект, что и решение первое.Однако экземпляр массива остается прежним.

    for (var key:String in myArray)
        delete myArray[key];
  3. Установка всех значений в массиве на null.Экземпляр массива останется прежним, и все его ключи будут сохранены.Только значения массива установлены на null.

    for (var key:String in myArray)
        myArray[key] = null;
0 голосов
/ 07 января 2011

Я думаю myArray = null; должен удалить всю связку.

UPDATE

var i:int=-1;
for(;myArray[++i];)
{
    delete myArray[i];
    myArray[i] = null;
}

OR

for(var r:String in myArray)
{
    delete myArray[i];
    myArray[r] = null;
}
...