Domanda

Sto cercando di capire come funziona questo pezzo di codice di Advanced Actionscript di Keith Peter. Essenzialmente c'è un ciclo for che sta per dividere le coppie chiave / valore separate da:. Ecco il codice:

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

E i token sono una matrice di stringhe che contengono valori come:

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

La cosa che non riesco a capire è, qual è il significato di " [0] " e "[1]". In che modo [1] indica che la stringa val deve contenere i dati dopo ": " split (il valore, come "GraphicTile" o "MapTest_Tile01") e [0] che punta ai dati prima della divisione (chiavi come "quot" tipo "o" graphicClass "). Il riferimento di Actionscript di Adobe non elenca alcun parametro che può essere passato al metodo Array.split usando parentesi quadre come questa.

È stato utile?

Soluzione

Il metodo split () sta restituendo un array di token creati dividendo la stringa. Questo array viene quindi indicizzato con [0] e [1] per ottenere il primo e il secondo membro. È esattamente lo stesso dei token [i] utilizzati per accedere al i th membro dell'array di token.

Altri suggerimenti

nick ha dato la risposta corretta ...

come ha sottolineato implicitamente CookieOfFortune, il codice non è proprio buono ...

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

questo eviterebbe di dividere la stringa due volte ... forse potrebbe anche chiarire cosa succede ...

greetz

back2dos

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top