2012-06-20 14 views
6

AS3 में, Array.sort() जैसे कुछ अच्छा सॉर्टिंग विकल्प ले लिया:AS3 Vector.sort() सॉर्टिंग विकल्प नहीं लेता है?

  • Array.DESCENDING - सरणी छोटे
  • Array.RETURNINDEXEDARRAY को बड़ा सॉर्ट करता - सूचकांकों की एक सरणी देता है ताकि आप ट्रैक कर सकते हैं जो आइटम हल कर गया जहां

लेकिन दुर्भाग्य से Vector<T>.sort() इन सुविधाओं का समर्थन नहीं करता है, और केवल ताकि आप अपने ow लिख सकते हैं एक compareFunction:Function तर्क लेता एन सॉर्टिंग तर्क।

क्या वेक्टर की क्रमबद्ध अनुक्रमित-सरणी को तुरंत प्राप्त करने का कोई अन्य तरीका है? प्रलेखन बाहर

उत्तर

4

RETURNINDEXEDARRAY फ़्लैश प्लेयर 10+ में काम नहीं करता है। यह सिर्फ वही मूल Vector<Number> देता है।

एक ऐरे के विपरीत, RETURNINDEXEDARRAY विकल्प Vector.sort() विधि के लिए अनदेखा किया गया है। लौटा वेक्टर ऑब्जेक्ट हमेशा मूल वस्तु का संदर्भ होता है।

8

की जांच: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Vector.html#sort()

यह अभी भी उन विकल्पों का उपयोग करना संभव है, लेकिन आप उनकी तुलना समारोह के बजाय पहले पैरामीटर के रूप में पारित करने के लिए की है।

myVector.sort(Array.DESCENDING|Array.RETURNINDEXEDARRAY); 
+0

Array.RETURNINDEXEDARRAY मेरे लिए काम नहीं करता है। यह सिर्फ वही मूल वेक्टर

+2

हाँ देता है, मैं प्रलेखन पृष्ठ पर टिप्पणियां पढ़ रहा था और पाया: "एक ऐरे क्लास के विपरीत, Array.RETURNINDEXEDARRAY विकल्प को Vector.sort() विधि के लिए अनदेखा किया जाता है। लौटा वेक्टर वस्तु हमेशा मूल वस्तु का संदर्भ है। " –

+0

यह भी सावधान रहें कि दस्तावेज़ों के बावजूद स्लाइस विधि में दूसरा तर्क वैकल्पिक नहीं है। –

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