<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comentarios en: En JavaScript los arrays asociativos no existen</title>
	<atom:link href="http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/</link>
	<description>Beta, como Goooogle</description>
	<lastBuildDate>Wed, 12 Jun 2013 22:44:22 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Por: Jinny</title>
		<link>http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/comment-page-1/#comment-5917</link>
		<dc:creator>Jinny</dc:creator>
		<pubDate>Mon, 19 Mar 2012 21:32:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/#comment-5917</guid>
		<description>Muy interesante. La verdad que JavaScript tiene una sintaxis muy mal diseñada, es muy confusa y lleva a que cometamos errores como el que comentaste en este artículo.
Saludos!</description>
		<content:encoded><![CDATA[<p>Muy interesante. La verdad que JavaScript tiene una sintaxis muy mal diseñada, es muy confusa y lleva a que cometamos errores como el que comentaste en este artículo.<br />
Saludos!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Nenillo</title>
		<link>http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/comment-page-1/#comment-4990</link>
		<dc:creator>Nenillo</dc:creator>
		<pubDate>Fri, 18 Nov 2011 10:23:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/#comment-4990</guid>
		<description>Otro que no ha leído el artículo :P

No, no existen, lo que estás usando en el ejemplo es un Objeto genérico de JavaScript, no es un array asociativo.

Prueba la propiedad &quot;length&quot;, verás que no funciona porque es un objeto.

Lo que estás definiendo ahí es un objeto con varias propiedades y cada propiedad un valor. Su funcionamiento es similar al de un array asociativo, sí, pero no es un array asociativo, es un objeto con sus propiedades.</description>
		<content:encoded><![CDATA[<p>Otro que no ha leído el artículo <img src='http://www.pcfrikis.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>No, no existen, lo que estás usando en el ejemplo es un Objeto genérico de JavaScript, no es un array asociativo.</p>
<p>Prueba la propiedad &#8220;length&#8221;, verás que no funciona porque es un objeto.</p>
<p>Lo que estás definiendo ahí es un objeto con varias propiedades y cada propiedad un valor. Su funcionamiento es similar al de un array asociativo, sí, pero no es un array asociativo, es un objeto con sus propiedades.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: z666zz666z</title>
		<link>http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/comment-page-1/#comment-4989</link>
		<dc:creator>z666zz666z</dc:creator>
		<pubDate>Fri, 18 Nov 2011 10:02:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/#comment-4989</guid>
		<description>Madre mía cómo se lía la peña!!!

Claro que existen los Arrays asociativos, se declaran así:

var MiArrayAsociativo={ 
PrimeraClave: ValorParaPrimeraClave,
SegundaClave: ValorParaSegundaClave,
...etc...
}

Si con llaves, no con corchetes.

Para saber si una clave existe o no basta con:

var ExisteLaClave_X=X in MiArrayAsociativo;

Para acceder basta con:

var ElValor=MiArrayAsociativo[LaClave];

Y para saber cuantos elementos hay basta con:

var CantidadDeElementos=MiArrayAsociativo.length;

Ahora pongo ejemplos con datos:

var OpcionesValidas={
2:&#039;NombreApellidos&#039;,
&quot;ES&quot;:&#039;España,
true:192
}
if(2 in OpcionesValidas){
alert &#039;La clave 2 tiene valor: &#039;+OpcionesValidas[2];
}
if(&#039;ES&#039; in OpcionesValidas){
alert &#039;La clave &quot;ES&quot; tiene valor: &#039;+OpcionesValidas[&quot;ES&quot;];
}
if(true in OpcionesValidas){
alert &#039;La clave true tiene valor: &#039;+OpcionesValidas[true];
}
if(!(&#039;AlgoQueNoEsta&#039; in OpcionesValidas)){
alert &#039;La clave AlgoQueNoEsta no está&#039;;
}
alert(&#039;Cantidad de claves: &#039;+OpcionesValidas.length);

Espero os ayude, es muy útil para buscar un valor en una lista de valores con el truco siguiente...

var ListaValoresValidos={Valor1:0;Valor2:0; .etc. };
if(ElValorBuscado in ListaValoresValidos){
 // Existe
}else{
 // No existe
}

Así se manejan los arrays asocativos en Javascript.

OJO: No confundir con Arrays normales, esos otro se declaran con new Array(), etc... no son lo mismo</description>
		<content:encoded><![CDATA[<p>Madre mía cómo se lía la peña!!!</p>
<p>Claro que existen los Arrays asociativos, se declaran así:</p>
<p>var MiArrayAsociativo={<br />
PrimeraClave: ValorParaPrimeraClave,<br />
SegundaClave: ValorParaSegundaClave,<br />
&#8230;etc&#8230;<br />
}</p>
<p>Si con llaves, no con corchetes.</p>
<p>Para saber si una clave existe o no basta con:</p>
<p>var ExisteLaClave_X=X in MiArrayAsociativo;</p>
<p>Para acceder basta con:</p>
<p>var ElValor=MiArrayAsociativo[LaClave];</p>
<p>Y para saber cuantos elementos hay basta con:</p>
<p>var CantidadDeElementos=MiArrayAsociativo.length;</p>
<p>Ahora pongo ejemplos con datos:</p>
<p>var OpcionesValidas={<br />
2:&#8217;NombreApellidos&#8217;,<br />
&#8220;ES&#8221;:&#8217;España,<br />
true:192<br />
}<br />
if(2 in OpcionesValidas){<br />
alert &#8216;La clave 2 tiene valor: &#8216;+OpcionesValidas[2];<br />
}<br />
if(&#8216;ES&#8217; in OpcionesValidas){<br />
alert &#8216;La clave &#8220;ES&#8221; tiene valor: &#8216;+OpcionesValidas["ES"];<br />
}<br />
if(true in OpcionesValidas){<br />
alert &#8216;La clave true tiene valor: &#8216;+OpcionesValidas[true];<br />
}<br />
if(!(&#8216;AlgoQueNoEsta&#8217; in OpcionesValidas)){<br />
alert &#8216;La clave AlgoQueNoEsta no está&#8217;;<br />
}<br />
alert(&#8216;Cantidad de claves: &#8216;+OpcionesValidas.length);</p>
<p>Espero os ayude, es muy útil para buscar un valor en una lista de valores con el truco siguiente&#8230;</p>
<p>var ListaValoresValidos={Valor1:0;Valor2:0; .etc. };<br />
if(ElValorBuscado in ListaValoresValidos){<br />
 // Existe<br />
}else{<br />
 // No existe<br />
}</p>
<p>Así se manejan los arrays asocativos en Javascript.</p>
<p>OJO: No confundir con Arrays normales, esos otro se declaran con new Array(), etc&#8230; no son lo mismo</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Juan Jose</title>
		<link>http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/comment-page-1/#comment-4021</link>
		<dc:creator>Juan Jose</dc:creator>
		<pubDate>Fri, 17 Jun 2011 23:19:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/#comment-4021</guid>
		<description>lo que dice Ricardo Stuven a mi  me funciono. No se podran definir o lo que sea pero los arreglos asociativos en javascript a mi me funcionan muy bien.</description>
		<content:encoded><![CDATA[<p>lo que dice Ricardo Stuven a mi  me funciono. No se podran definir o lo que sea pero los arreglos asociativos en javascript a mi me funcionan muy bien.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Josema</title>
		<link>http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/comment-page-1/#comment-1612</link>
		<dc:creator>Josema</dc:creator>
		<pubDate>Wed, 10 Mar 2010 18:15:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/#comment-1612</guid>
		<description>Eres un verdadero Crack. Felicidades.</description>
		<content:encoded><![CDATA[<p>Eres un verdadero Crack. Felicidades.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Franco</title>
		<link>http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/comment-page-1/#comment-1182</link>
		<dc:creator>Franco</dc:creator>
		<pubDate>Mon, 19 Oct 2009 14:48:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/#comment-1182</guid>
		<description>Gracias por la explicación!</description>
		<content:encoded><![CDATA[<p>Gracias por la explicación!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Geek</title>
		<link>http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/comment-page-1/#comment-305</link>
		<dc:creator>Geek</dc:creator>
		<pubDate>Fri, 14 Dec 2007 21:26:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/#comment-305</guid>
		<description>En el artículo básicamente se llega a la misma conclusión, en JavaScript no hay arrays asociativos.</description>
		<content:encoded><![CDATA[<p>En el artículo básicamente se llega a la misma conclusión, en JavaScript no hay arrays asociativos.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Diego</title>
		<link>http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/comment-page-1/#comment-304</link>
		<dc:creator>Diego</dc:creator>
		<pubDate>Thu, 13 Dec 2007 14:30:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/#comment-304</guid>
		<description>Vean este ejemplo http://www.syntaxerror.es/2006/12/19/arrays-en-javascript-indice-numerico-vs-asociativos/</description>
		<content:encoded><![CDATA[<p>Vean este ejemplo <a href="http://www.syntaxerror.es/2006/12/19/arrays-en-javascript-indice-numerico-vs-asociativos/" rel="nofollow">http://www.syntaxerror.es/2006/12/19/arrays-en-javascript-indice-numerico-vs-asociativos/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Geek</title>
		<link>http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/comment-page-1/#comment-149</link>
		<dc:creator>Geek</dc:creator>
		<pubDate>Mon, 22 Jan 2007 22:37:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/#comment-149</guid>
		<description>Esa es la sintaxis para definir objetos.

var paises = {&#039;es&#039;:&#039;España&#039;, &#039;pt&#039;:&#039;Portugal&#039;};
alert(typeof(paises));

Verás que es un &quot;object&quot; y si además pruebas:

paises.length;

Verás que pone undefined.

Es un objeto, no un array. No hay ninguna sintaxis para definir arrays asociativos porque estos no existen en JavaScript.</description>
		<content:encoded><![CDATA[<p>Esa es la sintaxis para definir objetos.</p>
<p>var paises = {&#8216;es&#8217;:'España&#8217;, &#8216;pt&#8217;:'Portugal&#8217;};<br />
alert(typeof(paises));</p>
<p>Verás que es un &#8220;object&#8221; y si además pruebas:</p>
<p>paises.length;</p>
<p>Verás que pone undefined.</p>
<p>Es un objeto, no un array. No hay ninguna sintaxis para definir arrays asociativos porque estos no existen en JavaScript.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Ricardo Stuven</title>
		<link>http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/comment-page-1/#comment-148</link>
		<dc:creator>Ricardo Stuven</dc:creator>
		<pubDate>Mon, 22 Jan 2007 21:51:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/#comment-148</guid>
		<description>Aparentemente, tienes razón. Pero sí existe la sintaxis literal:

var paises = {&#039;es&#039;:&#039;España&#039;, &#039;pt&#039;:&#039;Portugal&#039;};

Y por otro lado, puedes hacer un bucle por las llaves:

for (var llave in paises)
  alert(llave + &#039;:&#039; + paises[llave]);</description>
		<content:encoded><![CDATA[<p>Aparentemente, tienes razón. Pero sí existe la sintaxis literal:</p>
<p>var paises = {&#8216;es&#8217;:'España&#8217;, &#8216;pt&#8217;:'Portugal&#8217;};</p>
<p>Y por otro lado, puedes hacer un bucle por las llaves:</p>
<p>for (var llave in paises)<br />
  alert(llave + &#8216;:&#8217; + paises[llave]);</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Geek</title>
		<link>http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/comment-page-1/#comment-147</link>
		<dc:creator>Geek</dc:creator>
		<pubDate>Mon, 22 Jan 2007 18:55:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/#comment-147</guid>
		<description>Lo que ocurre es que lo que estoy mostrando en los ejemplos no es un array, es una manera errónea de intentar crear un array asociativo.

Un array válido en JavaScript sería:

var paises = new Array();
paises[0] = new Array(&#039;es&#039;,&#039;España&#039;);
paises[1] = new Array(&#039;pt&#039;,&#039;Portugal&#039;);
alert(paises.length);

En este caso sí que devuelve 2, porque es un array con claves numéricas, como debe ser en JavaScript y en este caso sí puedes recorrer el array con un típico for(var i=0;i&lt;paises.length;i++).</description>
		<content:encoded><![CDATA[<p>Lo que ocurre es que lo que estoy mostrando en los ejemplos no es un array, es una manera errónea de intentar crear un array asociativo.</p>
<p>Un array válido en JavaScript sería:</p>
<p>var paises = new Array();<br />
paises[0] = new Array(&#8216;es&#8217;,'España&#8217;);<br />
paises[1] = new Array(&#8216;pt&#8217;,'Portugal&#8217;);<br />
alert(paises.length);</p>
<p>En este caso sí que devuelve 2, porque es un array con claves numéricas, como debe ser en JavaScript y en este caso sí puedes recorrer el array con un típico for(var i=0;i<paises.length;i++).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Grohl</title>
		<link>http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/comment-page-1/#comment-146</link>
		<dc:creator>Grohl</dc:creator>
		<pubDate>Mon, 22 Jan 2007 18:51:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.pcfrikis.com/2007/01/22/en-javascript-los-arrays-asociativos-no-existen/#comment-146</guid>
		<description>¿ Y como se hace un bucle en un array javascript , si no se puede determinar su longitud ?</description>
		<content:encoded><![CDATA[<p>¿ Y como se hace un bucle en un array javascript , si no se puede determinar su longitud ?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
