Bucle eficiente a través del diccionario AS3


for (var k in dictionary) 
{
  var key:KeyType = KeyType(k);
  var value:ValType = ValType(dictionary[k]); // <-- lookup
  // do stuff
}

Esto es lo que uso para recorrer las entradas en un diccionario. Como puedes ver en cada iteración realizo una búsqueda en el diccionario. ¿Hay una forma más eficiente de iterar el diccionario (manteniendo el acceso a la clave)?

Author: Bart van Heukelom, 2010-03-05

2 answers

Iterar a través de claves & valores :

for (var k:Object in dictionary) {
    var value:ValType = dictionary[k];
    var key:KeyType = k;
}

Iterar a través de valores más conciso:

for each (var value:ValType in dictionary) {

}
 64
Author: Patrick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-11 21:15:30

En AS3 hay 3 bucles for diferentes, debe usar uno que se adapte mejor a sus necesidades.

Los programadores pierden enormes cantidades de tiempo pensando, o preocupándose por la velocidad de las partes no críticas de sus programas, y estos intentos de eficiencia en realidad tienen un fuerte impacto negativo cuando se consideran la depuración y el mantenimiento. Deberíamos olvidarnos de pequeñas eficiencias, digamos alrededor del 97% de las veces: optimización prematura es la raíz de todo mal. Sin embargo, no debemos dejar pasar nuestras oportunidades en ese crítico 3%.

Donald Knuth

 -1
Author: Denis Kokorin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-16 15:33:04