Array.Split () مع الأقواس المربعة []، من الكتاب المتقدم أكشن الرسوم المتحركة

StackOverflow https://stackoverflow.com/questions/1201804

سؤال

وأنا أحاول أن أفهم كيف يعمل هذا قطعة من التعليمات البرمجية من كيث بطرس أكشن متقدمة. أساسا هناك لحلقة مستمرة لتقسيم الرئيسية زوجا / قيمة مفصولة:. هنا هو رمز:

var definition:Object = new Object();
for(var i = 0;i < tokens.length; i++)  
{
    var key:String = tokens[i].split(":")[0];
    var val:String = tokens[i].split(":")[1];
    definition[key] = val;
}

والرموز هو مجموعة من السلاسل التي تحتوي على قيم مثل:

["type:GraphicTile", "graphicClass:MapTest_Tile01"]

والشيء الذي لا يمكن فهمه هو، ما هو significence من "[0]" و "[1]". كيف [1] تشير إلى أن فال سلسلة هو لاحتواء البيانات بعد ":" تقسيم (القيمة، مثل "GraphicTile" أو "MapTest_Tile01")، و[0] لافتا إلى البيانات قبل الانقسام (مفاتيح مثل " نوع "أو" graphicClass "). إشارة أكشن أدوبي لا تسرد أي المعلمات التي يمكن تمريرها إلى الأسلوب Array.split باستخدام الأقواس المربعة مثل هذا.

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

المحلول

وطريقة تقسيم () تعود مجموعة من الرموز التي تم إنشاؤها عن طريق تقسيم السلسلة. ثم يتم فهرستها هذه المجموعة مع [0] و [1] للحصول على أعضاء الأول والثاني. انها بالضبط نفس الرموز [ط] تستخدم للوصول إلى <م> <ط / م> عضو في مجموعة الرموز عشر.

نصائح أخرى

وقدم نيك الإجابة الصحيحة ...

وكما أشار CookieOfFortune implicitely بها، رمز ليست جيدة حقا ...

var definition:Object = new Object();
for(var i = 0;i < tokens.length; i++)  
{
    var parts:Array = tokens[i].split(":");
    var key:String = parts[0];
    var val:String = parts[1];
    definition[key] = val;
}

وهذا من شأنه تجنب تقسيم سلسلة مرتين ... ربما أيضا يجعل أكثر وضوحا ما يحدث ...

وgreetz

وback2dos

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