Seleccionar página

En javascript se llama array asociativo a aquellos que en vez de estar organizados con indices numericos en funcion de su posicion dentro del array, están organizados por claves no numericas.
Este tipo de arrays puede ser muy útil si tenemos listas de objetos que poseen un identificador.

<br />
var array_asociativo =  new Array();<br />
array_asociativo[‘uno’] = ‘brinkindans’;<br />
array_asociativo[‘dos’] = ‘crusaito’;<br />
array_asociativo[‘tres’] = ‘maiquel yason’;<br />
array_asociativo[‘cuatro’] = ‘robocó’;</p>
<p>alert(array_asociativo(‘tres’)); // –&gt;  maiquel yason<br />

Como se puede obervar este tipo de arrays se acerca mas al concepto de Map que al de Array.
Esto ocurre porque los arrays en javascript heredan de la clase Object.
El codigo anterior seria equivalente a este:

<br />
var array_asociativo =  new Object();<br />
array_asociativo.uno = ‘brinkindans’;<br />
array_asociativo.dos = ‘crusaito’;<br />
array_asociativo.tres = ‘maiquel yason’;<br />
array_asociativo.cuatro = ‘robocó’;</p>
<p>alert(array_asociativo(‘tres’))//–&gt;  maiquel yason<br />

En ambos casos podemos acceder a sus propiedades utilizando la notación de paréntesis o la notacion de puntos.

<br />
alert(array_asociativo(‘uno’)); //–&gt;  brinkindans<br />
alert(array_asociativo.dos)//–&gt;  crusaito<br />

El principal problema con estos arrays viene cuando queremos iterar por ellos. Al no estar organizados por indices, no nos vale el típico “for( i=0; i<array .length; i++)”
Deberemos usar un “for in”

<br />
for(var i in array_asociativo) {<br />
  alert(i)// Nombre de la clave<br />
  alert(array_asociativo(i)); // valor<br />
}<br />

Sin embargo al iterar de esta forma no solo se enumeran las propiedades del objeto en cuestión, si no también sus funciones por lo que deberíamos hacer una comprobación de tipos mediante el operando “typeof”. Este operando devuelve un String con el tipo del operador sobre el que se ejecuta.
Aqui están los resultado al ejecutar el operador “typeof” sobre cada uno de los tipos de javascript.

<br />
typeof new Object() //–&gt;    ‘object'<br />
typeof new Array() //–&gt;  ‘object’ , ya que los arrays heredan de los objetos<br />
typeof alert //–&gt;   ‘function’, ya que alert() es una función<br />
typeof ‘cadena’ //–&gt;   ‘string’, ya que ‘cadena’ es un String<br />
typeof 21 //–&gt;   ‘number’, ya que es un numero<br />
typeof true //–&gt;    ‘boolean'<br />
typeof null //–&gt;    ‘object’, null también es considerado como un objeto<br />
typeof undefined //–&gt;    ‘undefined'<br />