Frage

Ich versuche zu verstehen, wie dieses Stück Code von Keith Peters Erweiterte Actionscript funktioniert. Im Wesentlichen gibt es eine for-Schleife Schlüssel / Wert-Paaren, die durch getrennt los aufzuspalten. Hier ist der Code:

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;
}

Und Token ist ein Array von Strings Werte enthalten, wie:

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

Das, was ich nicht verstehen kann, ist, was ist die significence von „[0]“ und „[1]“. Wie funktioniert [1] zeigen, dass die String val ist, die Daten nach dem halten „:“ split (der Wert, wie „GraphicTile“ oder „MapTest_Tile01“) und [0] zeigt auf die Daten vor der Spaltung (Tasten wie " Typ“oder "graphicClass"). Adobe Actionscript-Referenzliste keine Parameter, die auf die Verwendung von Array.split Methode übergeben werden können, diese eckigen Klammern wie.

War es hilfreich?

Lösung

Die Split () Methode zurückkehrt, eine Anordnung der erzeugten Tokens durch die Zeichenfolge zu splitten. Dieses Array wird dann mit indexiert [0] und [1], um die ersten und zweiten Elemente zu erhalten. Es ist genau die gleiche wie Tokens [i] die für den Zugriff verwendet werden i th Mitglied des Token-Array.

Andere Tipps

nick gab die richtige Antwort ...

als CookieOfFortune implizit darauf hingewiesen, der Code ist nicht wirklich gut ...

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;
}

Dies würde vermeiden doppelte String aufteilen ... auch vielleicht macht es klarer, was passiert ...

greetz

back2dos

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top