Arrays paralelas

0 - , , - 03/04/2005 00:00:00

Hay ocasiones en que necesitamos tener dos grupos de datos relacionados y almacenarlos en arrays. Por ejemplo un listado de usuarios y su correspondiente contraseña, o un listado de empleados con su número de teléfono, etc. En estos casos, podemos recurrir a utilizar una array simple en la que cada elemento es una cadena que contiene ambos datos separados por un delimitador como dos puntos (:). Ejemplo:

//Creamos una nueva array
var Empleados = new Array();
//Colocamos los distintos elementos
Empleados.push("Pedro:963591476)
Empleados.push("Jose:961345623)
Empleados.push("Sergio:963459821)

Una vez tenemos la array, para extraer los datos podemos utilizar el método split() para separar ambos valores:

var Empleados = new Array();
Empleados.push("Pedro:963591476")
Empleados.push("Jose:961345623")
Empleados.push("Sergio:963459821")
var EmpleadosInfo = new Array();
for(var i = 0; i < Empleados.length; i++) {
          EmpleadosInfo = Empleados[i].split(":");
          trace("Empleado:" + EmpleadosInfo[0]);
          trace("Número de teléfono:" + EmpleadosInfo[1]);
}

De lo que resulta:

Empleado:Pedro
Número de teléfono:963591476
Empleado:Jose
Número de teléfono:961345623
Empleado:Sergio
Número de teléfono:963459821

Aunque esto funciona, otra forma de hacerlo es crear arrays paralelas. Creamos dos o mas arrays cuyos índices estén relacionados. Siguiendo con nuestro ejemplo sería:

var NombreEmpleados = ["Pedro", "Jose", "Sergio"]
var TelefonoEmpleados = ["963591476", "961345623", "963459821"]

De esta forma es mucho más fácil recibir los datos correspondientes a cada array y luego "parsearlos" a nuestra conveniencia:

var NombreEmpleados = ["Pedro", "Jose", "Sergio"]
var TelefonoEmpleados = ["963591476", "961345623", "963459821"]
for(i = 0; i < NombreEmpleados.length; i++) {
          trace("Empleado:" + NombreEmpleados[i]);
          trace("Número de Teléfono:" + TelefonoEmpleados[i]);
}

Lo cual produce el mismo efecto que con el ejemplo realizado anteriormente, pero con menos código.

Deja tu comentario

  • El comentario debe estar relacionado con el contenido de la entrada.
  • Comentarios ofensivos, con spam o con lenguaje inapropiado serán eliminados.

captcha