سؤال

وأود أن أعرف أجل التكرار للصفيف، قاموس وجوه الأنواع في AS3، لكل من الحلقات مقابل كل ولفي. أيضا ما هي العوامل التي يمكن تغيير ترتيب التكرار من هذه المجموعات نوع الحلقة؟

وعلى سبيل المثال افترض أن استخدام مقابل كل على نوع صفيف التحرك دائما من العنصر الأول الى الاخير. مقابل كل لا يمكن أن تستخدم في قاموس فكيف هو الترتيب تحديد باستخدام لفي الحلقة؟

هل كانت مفيدة؟

المحلول

هل تعني نوع for (x in y) من مقابل كل حلقة؟ تقول مواصفات AS3 أن لحلقات "لها نفس بناء الجملة ودلالات كما هو محدد في ECMA-262 طبعة 3 و E4X".

وECMA-262، قسم 12.6.4 الدولة أن "يتم تعريف ترتيب التعداد من قبل الكائن" - وبعبارة أخرى، فإنه سيعتمد على ما إذا كنت بالتكرار عبر قائمة، القاموس، مجموعة الخ

وأود أن <م> أمل أن الوثائق لمعظم المجموعات وصراحة أمر التعداد (أو التي لم يتم تعريف النظام) لكنني لم فحص ...

وتحرير: لسوء الحظ المواصفات تنص على أن "آليات تعداد خصائص [...] هو تنفيذ يعتمد". لا أستطيع أن أرى أي شيء في مستندات صفيف لتحديد ترتيب. انها غير مرضية بعض الشيء، لنكون صادقين: (

نصائح أخرى

وكما جاء في الأساسية أكشن 3.0 كولن موك، من اجل لليست مضمونة في كل حلقة ما لم تعداد لXML أو XMLList الكائن؛

اضغط هنا للكلمات كولن موك من كتابه.

وهناك الحلول كما نوقش <لأ href = "http://manishjethani.com/blog/2008/12/19/guaranteeing-enumeration-order-in-for-in-loops/" يختلط = "نوفولو noreferrer" > هنا ، ولكن بصراحة إذا كنت بحاجة إلى ضمان الترتيب ثم مجرد استخدام قديمة العادية للحلقة، وأنها تكرار (طول، NUMCHILDREN، الخ) عدة مرات.

وترتيب تقييم تغير في AS3.0 في وقت سابق، في AS 1.0 و 2.0، واستند ترتيب التقييم على الترتيب الذي تم إضافة الكائنات. الآن، في 3.0 جميع حلقات تحتفظ ترتيب مجموعة. محاولة المقتطف:

var a:Array = new Array();
a[ 1 ] = 'first';
a[ 0 ] = 'second';

for (var key:String in a) 
    trace( key + ': ' + a[ key ] );

وحاول ما سبق مع AS3.0 وAS1.0 / 2.0

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top