Pregunta

Estoy tratando de entender cómo funciona este código del Advanced Actionscript de Keith Peter. Esencialmente, hay un bucle for para dividir pares clave / valor separados por:. Aquí está el código:

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

Y los tokens son una serie de cadenas que contienen valores como:

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

Lo que no puedo entender es cuál es el significado de " [0] " y "[1]". ¿Cómo indica [1] que el valor de String es mantener los datos después de ": " split (el valor, como " GraphicTile " o " MapTest_Tile01 "), y [0] apuntando a los datos antes de la división (claves como " type " o " graphicClass "). La referencia de Actionscript de Adobe no muestra ningún parámetro que pueda pasarse al método Array.split usando corchetes como este.

¿Fue útil?

Solución

El método split () está devolviendo una matriz de los tokens creados al dividir la cadena. Esta matriz se indexa con [0] y [1] para obtener el primer y el segundo miembro. Es exactamente lo mismo que los tokens [i] que se utilizan para acceder al i th miembro de la matriz de tokens.

Otros consejos

Nick dio la respuesta correcta ...

como CookieOfFortune señaló implícitamente, el código no es realmente bueno ...

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

esto evitaría dividir el String dos veces ... también quizás aclare lo que sucede ...

greetz

back2dos

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top