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

के माध्यम से कुशल लूपिंग मैं एक शब्दकोश में प्रविष्टियों के माध्यम से लूप के लिए उपयोग करता हूं। जैसा कि आप प्रत्येक पुनरावृत्ति में देख सकते हैं मैं शब्दकोश में एक लुकअप करता हूं। क्या शब्दकोश को फिर से शुरू करने का एक और अधिक प्रभावी तरीका है (कुंजी तक पहुंच रखते हुए)?एएस 3 डिक्शनरी

उत्तर

64

दोहराएं के माध्यम से कुंजी & मूल्यों:

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

दोहराएं के माध्यम से मूल्यों अधिक संक्षेप में:

for each (var value:ValType in dictionary) { 

} 
+0

मैं कुंजी (मेरे सवाल में स्पष्ट किया) –

+6

स्वीकृत पता करने के लिए है क्योंकि यह सवाल का जवाब की जरूरत है। एक समाधान के रूप में, मैंने शब्दकोश के चारों ओर एक रैपर बनाया है जो कुंजी और मूल्य को इसके शब्दकोश के मूल्य के रूप में संग्रहीत करता है। –

-1

AS3 में 3 अलग for छोरों देखते हैं, तो आप एक का उपयोग करना चाहिए कि आपकी जरूरतों के अनुरूप सबसे अच्छा है।

प्रोग्रामर्स समय से भारी मात्रा के बारे में, उनके कार्यक्रमों के noncritical भागों की गति में चिंता के बारे में सोच, या बर्बाद, और दक्षता पर इन प्रयासों वास्तव में एक मजबूत नकारात्मक प्रभाव जब डिबगिंग और रखरखाव माना जाता है। हमें छोटी क्षमताओं को भूलना चाहिए, समय के बारे में 9 7% कहते हैं: समयपूर्व अनुकूलन सभी बुराई की जड़ है। फिर भी हमें उस महत्वपूर्ण 3% में हमारे अवसरों को पारित नहीं करना चाहिए।

डोनाल्ड नुथ

संबंधित मुद्दे