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

Esto es lo que utilizo para recorrer las entradas de un diccionario. Como puede ver en cada iteración, realizo una búsqueda en el diccionario. ¿Hay una manera más eficiente de iterar el diccionario (mientras se mantiene el acceso a la clave)?Bucle eficiente mediante el diccionario AS3

Respuesta

64

iterar a través de teclas & valores:

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

iterar a través de valores más concisamente:

for each (var value:ValType in dictionary) { 

} 
+0

Necesito saber la clave (aclaro en mi pregunta) –

+6

aceptada porque responde a la pregunta. Sin embargo, como solución, he creado un diccionario que almacena la clave y el valor como valor de su diccionario. –

-1

En AS3 hay 3 for bucles diferentes, se debe utilizar uno que se adapta mejor a tus necesidades

programadores perder enormes cantidades de tiempo a pensar, o preocuparse, la velocidad de las partes no críticas de sus programas, y estos intentos de la eficiencia en realidad tienen un fuerte impacto negativo al depurar y mantenimiento se consideran. Deberíamos olvidarnos de las pequeñas eficiencias , digamos aproximadamente el 97% del tiempo: la optimización prematura es la raíz de todo mal. Sin embargo, no deberíamos dejar pasar nuestras oportunidades en ese crítico 3%.

Donald Knuth

Cuestiones relacionadas