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

Bu, bir sözlükteki girdiler arasında geçiş yapmak için kullandığım şeydir. Her yinelemede gördüğünüz gibi, sözlükte bir arama gerçekleştiriyorum. Sözlüğü yinelemek için daha etkili bir yol var mı?AS3 sözlüğünden verimli döngü

cevap

64

Bıkmadan aracılığıyla tuşları & değerleri: daha kısaca

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

Bıkmadan yoluyla değerler: 3 farklı for döngüler vardır AS3 olarak

for each (var value:ValType in dictionary) { 

} 
+0

Ben soru cevaplar çünkü Kabul (benim söz konusu açıklık) tuşuna –

+6

bilmemiz gerekir. Yine de bir çözüm olarak, anahtarın ve değerin sözlüğünün değeri olarak saklandığı sözlük etrafında bir sarmalayıcı yaptım. –

-1

, birini kullanması gerektiğini ihtiyaçlarınızı en iyi karşılar.

Programcılar zamanın muazzam miktarlarda düşünmeye veya kendi programlarının kritik olmayan kısımlarının hızını, endişesi israf ve verimlilikle bu girişimler aslında güçlü bir olumsuz etkisi ayıklama ve bakım kabul edilir var. küçük verimleri unutmamalıyız, zamanın yaklaşık% 97'sini söyleyelim: Prematüre optimizasyon tüm kötülüklerin köküdür. Yine de, fırsatlarımızı bu kritik% 3 oranında geçmemeliyiz.

Donald Knuth