<?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>Comments on: Javascript Associative Arrays considered harmful</title>
	<atom:link href="http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 17 May 2012 07:43:39 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: scaraveos</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-285932</link>
		<dc:creator>scaraveos</dc:creator>
		<pubDate>Mon, 03 Oct 2011 11:18:24 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-285932</guid>
		<description>I created a little library to manage key value pairs.

https://github.com/scaraveos/keyval.js#readme

It uses

- an object to store the keys, which allows for fast delete and value retrieval operations and
- a linked list to allow for really fast value iteration

Hope it helps :)</description>
		<content:encoded><![CDATA[<p>I created a little library to manage key value pairs.</p>
<p><a href="https://github.com/scaraveos/keyval.js#readme" rel="nofollow">https://github.com/scaraveos/keyval.js#readme</a></p>
<p>It uses</p>
<p>- an object to store the keys, which allows for fast delete and value retrieval operations and<br />
- a linked list to allow for really fast value iteration</p>
<p>Hope it helps :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jbaker</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-271196</link>
		<dc:creator>jbaker</dc:creator>
		<pubDate>Sat, 07 Feb 2009 19:38:26 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-271196</guid>
		<description>Wow, nice choice of bands, and great javascript tips too!</description>
		<content:encoded><![CDATA[<p>Wow, nice choice of bands, and great javascript tips too!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vestrinang</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-266136</link>
		<dc:creator>vestrinang</dc:creator>
		<pubDate>Fri, 25 Jul 2008 06:30:01 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-266136</guid>
		<description>Here it is (for what is worth after such a time.length ...) a little script to create a working associative array:

String.prototype.trim = function() { return this.replace(/^\s+&#124;\s+$/g, &#039;&#039;); }
String.prototype.startsWith = function(s) { return this.substring(0,s.length - 1) == s; }
String.prototype.endsWith = function(s) { return this.length &gt;= s.length &amp;&amp; this.substring(this.length - s.length) == s; }
function AssocArray(){
}
AssocArray.prototype.size = function() {
	var result = 0;
	for(i in this){
		if(this[i].startsWith)
			result++;
	}
	return result;
}
AssocArray.prototype.keys = function(){
	var result = new Array();
	for(i in this){
		if(this[i].startsWith)
			result[result.length] = i;	
	}
	return result;
}
AssocArray.prototype.values = function(){
	var result = new Array();
	for(i in this){
		if(this[i].startsWith)
			result[result.length] = this[i];	
	}
	return result;
}

And some test to the above:

var taa = new AssocArray();
taa.testa = &#039;value1a&#039;; // or taa[&#039;testa&#039;] = &#039;value1a&#039;;
taa.testb = &#039;value2a&#039;; // ...
alert(&#039;taa.size = &#039; + taa.size());
var s = &#039;&#039;;
var k = taa.keys();
for(i in k){
	s += &#039;;&#039; + k[i];
}
alert(&#039;Keys are &#039; + s);
s = &#039;&#039;;
var v = taa.values();
for(i in taa.values()){
	s += &#039;;&#039; + v[i];	
}
alert(&#039;Values are &#039; + s);
for(i in taa){
	if(taa[i].startsWith)
		alert(i + &#039;=&#039; + taa[i]);	
}

Note the test for startsWith function in the for..in loops (otherwise the functions themselves are also counted, so I test to the current value to be a String, so it has my added startsWith function)
The trim() and endsWith() functions are not used here, but might also be useful.

Hope this can be useful :)</description>
		<content:encoded><![CDATA[<p>Here it is (for what is worth after such a time.length &#8230;) a little script to create a working associative array:</p>
<p>String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, &#8221;); }<br />
String.prototype.startsWith = function(s) { return this.substring(0,s.length &#8211; 1) == s; }<br />
String.prototype.endsWith = function(s) { return this.length &gt;= s.length &amp;&amp; this.substring(this.length &#8211; s.length) == s; }<br />
function AssocArray(){<br />
}<br />
AssocArray.prototype.size = function() {<br />
	var result = 0;<br />
	for(i in this){<br />
		if(this[i].startsWith)<br />
			result++;<br />
	}<br />
	return result;<br />
}<br />
AssocArray.prototype.keys = function(){<br />
	var result = new Array();<br />
	for(i in this){<br />
		if(this[i].startsWith)<br />
			result[result.length] = i;<br />
	}<br />
	return result;<br />
}<br />
AssocArray.prototype.values = function(){<br />
	var result = new Array();<br />
	for(i in this){<br />
		if(this[i].startsWith)<br />
			result[result.length] = this[i];<br />
	}<br />
	return result;<br />
}</p>
<p>And some test to the above:</p>
<p>var taa = new AssocArray();<br />
taa.testa = &#8216;value1a&#8217;; // or taa['testa'] = &#8216;value1a&#8217;;<br />
taa.testb = &#8216;value2a&#8217;; // &#8230;<br />
alert(&#8216;taa.size = &#8216; + taa.size());<br />
var s = &#8221;;<br />
var k = taa.keys();<br />
for(i in k){<br />
	s += &#8216;;&#8217; + k[i];<br />
}<br />
alert(&#8216;Keys are &#8216; + s);<br />
s = &#8221;;<br />
var v = taa.values();<br />
for(i in taa.values()){<br />
	s += &#8216;;&#8217; + v[i];<br />
}<br />
alert(&#8216;Values are &#8216; + s);<br />
for(i in taa){<br />
	if(taa[i].startsWith)<br />
		alert(i + &#8216;=&#8217; + taa[i]);<br />
}</p>
<p>Note the test for startsWith function in the for..in loops (otherwise the functions themselves are also counted, so I test to the current value to be a String, so it has my added startsWith function)<br />
The trim() and endsWith() functions are not used here, but might also be useful.</p>
<p>Hope this can be useful :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pete</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-250627</link>
		<dc:creator>Pete</dc:creator>
		<pubDate>Sat, 19 May 2007 19:43:53 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-250627</guid>
		<description>Nearly a year later, the answer is: &#039;for/in&#039;. (Also, this answer was right above the question for weeks.) The question you really want to ask is how to get the count of enumerable properties in an object without looping over all of them, which I can only assume is hideously slow.</description>
		<content:encoded><![CDATA[<p>Nearly a year later, the answer is: &#8216;for/in&#8217;. (Also, this answer was right above the question for weeks.) The question you really want to ask is how to get the count of enumerable properties in an object without looping over all of them, which I can only assume is hideously slow.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Russ</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-30629</link>
		<dc:creator>Russ</dc:creator>
		<pubDate>Mon, 19 Jun 2006 18:39:20 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-30629</guid>
		<description>So how do you iterate over the elements of this superior hash map called an Object?</description>
		<content:encoded><![CDATA[<p>So how do you iterate over the elements of this superior hash map called an Object?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matt Brock</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-16546</link>
		<dc:creator>Matt Brock</dc:creator>
		<pubDate>Mon, 29 May 2006 06:48:10 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-16546</guid>
		<description>There are a number of significant disadvantages of using Arrays as hashtables instead of Objects.  The biggest one is that any extended prototype functionality added to the Array object will break any for...in loop unless you test for enumerability.  The length() problem can be gotten around in the same manner by adding a size() method to the Array object that does the same test:

&lt;code&gt;
Array.prototype.size = function() {
&#160;&#160;var i = 0;
&#160;&#160;for (var j in this) {
&#160;&#160;&#160;&#160;if (this.propertyIsEnumerable(j)) {
&#160;&#160;&#160;&#160;&#160;&#160;i++;
&#160;&#160;&#160;&#160;}
&#160;&#160;}
&#160;&#160;return i;
}
&lt;/code&gt;

That&#039;s fine for getting the number of elements, but you&#039;re still buggered on the loops.  Each and every for...in loop has to have the same this.propertyIsEnumerable(var) test unless you want breakage.  Being the lazy person that I am, I&#039;d rather save myself the trouble of writing all those extra, needless lines of code.  But that&#039;s just me.</description>
		<content:encoded><![CDATA[<p>There are a number of significant disadvantages of using Arrays as hashtables instead of Objects.  The biggest one is that any extended prototype functionality added to the Array object will break any for&#8230;in loop unless you test for enumerability.  The length() problem can be gotten around in the same manner by adding a size() method to the Array object that does the same test:</p>
<p><code><br />
Array.prototype.size = function() {<br />
&nbsp;&nbsp;var i = 0;<br />
&nbsp;&nbsp;for (var j in this) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (this.propertyIsEnumerable(j)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;return i;<br />
}<br />
</code></p>
<p>That&#8217;s fine for getting the number of elements, but you&#8217;re still buggered on the loops.  Each and every for&#8230;in loop has to have the same this.propertyIsEnumerable(var) test unless you want breakage.  Being the lazy person that I am, I&#8217;d rather save myself the trouble of writing all those extra, needless lines of code.  But that&#8217;s just me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vulcan</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-16077</link>
		<dc:creator>vulcan</dc:creator>
		<pubDate>Sun, 28 May 2006 12:35:09 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-16077</guid>
		<description>Oh no, here we go again. Are we talking here about a general language issue or implementations in some arbitrary case. The more you restrain possible options in a programming language, the less usable it becomes in different situations. When you are leading a programmers team in a software project, then you should say what is allowed and what is not (ie. &quot;bad practice&quot;). When you are designing a general use programming language then you should allow as wide range of functionality to a programmer as possible (without compromising simplicity ofcourse).</description>
		<content:encoded><![CDATA[<p>Oh no, here we go again. Are we talking here about a general language issue or implementations in some arbitrary case. The more you restrain possible options in a programming language, the less usable it becomes in different situations. When you are leading a programmers team in a software project, then you should say what is allowed and what is not (ie. &#8220;bad practice&#8221;). When you are designing a general use programming language then you should allow as wide range of functionality to a programmer as possible (without compromising simplicity ofcourse).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: links for 2006-05-23 at /dev/caffeine</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-12906</link>
		<dc:creator>links for 2006-05-23 at /dev/caffeine</dc:creator>
		<pubDate>Tue, 23 May 2006 00:33:10 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-12906</guid>
		<description>[...] Ajaxian Â» Javascript Associative Arrays considered harmful (tags: Javascript programming) [...]</description>
		<content:encoded><![CDATA[<p>[...] Ajaxian Â» Javascript Associative Arrays considered harmful (tags: Javascript programming) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Geary</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-12374</link>
		<dc:creator>Michael Geary</dc:creator>
		<pubDate>Sun, 21 May 2006 23:28:20 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-12374</guid>
		<description>A JavaScript &lt;code&gt;Array&lt;/code&gt; &lt;em&gt;is&lt;/em&gt; an &lt;code&gt;Object&lt;/code&gt;. You wouldn&#039;t save any memory by using an &lt;code&gt;Array&lt;/code&gt; instead of an &lt;code&gt;Object&lt;/code&gt;.

See my article linked above for more details.</description>
		<content:encoded><![CDATA[<p>A JavaScript <code>Array</code> <em>is</em> an <code>Object</code>. You wouldn&#8217;t save any memory by using an <code>Array</code> instead of an <code>Object</code>.</p>
<p>See my article linked above for more details.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: A ray</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-11974</link>
		<dc:creator>A ray</dc:creator>
		<pubDate>Sun, 21 May 2006 09:42:02 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-11974</guid>
		<description>sounds more like a problem with array.length rather than a bad practice. associative arrays are common for most any scripting language, since when did it become a bad practice?

I think using an object is a worse approach because it consumes more memory on the client machine.</description>
		<content:encoded><![CDATA[<p>sounds more like a problem with array.length rather than a bad practice. associative arrays are common for most any scripting language, since when did it become a bad practice?</p>
<p>I think using an object is a worse approach because it consumes more memory on the client machine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-11057</link>
		<dc:creator>Dan</dc:creator>
		<pubDate>Fri, 19 May 2006 18:06:01 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-11057</guid>
		<description>I agree that there are certain cases where it is time-saving to modify built-in type behaviours, and there are even cases when it makes sense. These are generally in tight-knit, closed environments when you have people that know what is happening. these are also cases where you meddling does not affect any other projects. I believe that all the frameworks out there that should not be screwing with objects as much as they do. I really don&#039;t think my Array object needs 30 new methods so that I can fade a DIV.</description>
		<content:encoded><![CDATA[<p>I agree that there are certain cases where it is time-saving to modify built-in type behaviours, and there are even cases when it makes sense. These are generally in tight-knit, closed environments when you have people that know what is happening. these are also cases where you meddling does not affect any other projects. I believe that all the frameworks out there that should not be screwing with objects as much as they do. I really don&#8217;t think my Array object needs 30 new methods so that I can fade a DIV.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob Sanheim</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-11019</link>
		<dc:creator>Rob Sanheim</dc:creator>
		<pubDate>Fri, 19 May 2006 15:37:52 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-11019</guid>
		<description>&lt;blockquote&gt;No one can be wrond when it comes to opinions, especially concerning Javascript. Letâ€™s keep the unprovable blanket statements to a minimum. &lt;/blockquote&gt;

My blanket statement was meant to be in jest, I realize there are contexts where changing the global objects is dangerous.  In general, on small, experienced teams, extending builtins can be a very good thing - if you are on a corporate team who is just learning javascript, then  I think it might not be such a good idea.</description>
		<content:encoded><![CDATA[<blockquote><p>No one can be wrond when it comes to opinions, especially concerning Javascript. Letâ€™s keep the unprovable blanket statements to a minimum. </p></blockquote>
<p>My blanket statement was meant to be in jest, I realize there are contexts where changing the global objects is dangerous.  In general, on small, experienced teams, extending builtins can be a very good thing &#8211; if you are on a corporate team who is just learning javascript, then  I think it might not be such a good idea.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sylvinus</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-11011</link>
		<dc:creator>sylvinus</dc:creator>
		<pubDate>Fri, 19 May 2006 15:13:08 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-11011</guid>
		<description>@Menno: Actually, in your example, a.length is undefined and b.length=0 so they aren&#039;t internally equivalent.</description>
		<content:encoded><![CDATA[<p>@Menno: Actually, in your example, a.length is undefined and b.length=0 so they aren&#8217;t internally equivalent.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Menno</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-11001</link>
		<dc:creator>Menno</dc:creator>
		<pubDate>Fri, 19 May 2006 14:58:49 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-11001</guid>
		<description>Hmm, interesting standpoint but as far as I know, these are all internally equivalent:
&lt;code&gt;
var a = {&#039;a&#039;:0, &#039;b&#039;:1, &#039;c&#039;:2};

var b = new Array();
b[&#039;a&#039;] = 0;
b[&#039;b&#039;] = 1;
b[&#039;c&#039;] = 2;

var c = new Object();
c.a = 0;
c.b = 1;
c.c = 2;
&lt;/code&gt;
So how can one be better than the other?</description>
		<content:encoded><![CDATA[<p>Hmm, interesting standpoint but as far as I know, these are all internally equivalent:<br />
<code><br />
var a = {'a':0, 'b':1, 'c':2};</p>
<p>var b = new Array();<br />
b['a'] = 0;<br />
b['b'] = 1;<br />
b['c'] = 2;</p>
<p>var c = new Object();<br />
c.a = 0;<br />
c.b = 1;<br />
c.c = 2;<br />
</code><br />
So how can one be better than the other?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lon</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-10988</link>
		<dc:creator>Lon</dc:creator>
		<pubDate>Fri, 19 May 2006 14:45:15 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-10988</guid>
		<description>if you add a decent toString() to your objects you could use an object as a hash key I guess.

why make such a big issue out of this... arrays are objects as well... they deserve to be abused just like regular objects... whether or not it&#039;s smart to do so... no, but I guess people are doing far more stupid things than this.</description>
		<content:encoded><![CDATA[<p>if you add a decent toString() to your objects you could use an object as a hash key I guess.</p>
<p>why make such a big issue out of this&#8230; arrays are objects as well&#8230; they deserve to be abused just like regular objects&#8230; whether or not it&#8217;s smart to do so&#8230; no, but I guess people are doing far more stupid things than this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: J Perry</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-10948</link>
		<dc:creator>J Perry</dc:creator>
		<pubDate>Fri, 19 May 2006 14:09:48 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-10948</guid>
		<description>Also, I don&#039;t think arrays should ever store the number 2.7.  I demand that everyone modify their code so that the value 2.7 is never stored in an array!   Obey!  Obey!  Obey!  Obey!</description>
		<content:encoded><![CDATA[<p>Also, I don&#8217;t think arrays should ever store the number 2.7.  I demand that everyone modify their code so that the value 2.7 is never stored in an array!   Obey!  Obey!  Obey!  Obey!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-10945</link>
		<dc:creator>Dan</dc:creator>
		<pubDate>Fri, 19 May 2006 14:08:50 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-10945</guid>
		<description>Stupid fingers ... I meant &lt;em&gt;wrong&lt;/em&gt;, no one can be &lt;em&gt;wrong&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Stupid fingers &#8230; I meant <em>wrong</em>, no one can be <em>wrong</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-10942</link>
		<dc:creator>Dan</dc:creator>
		<pubDate>Fri, 19 May 2006 14:07:40 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-10942</guid>
		<description>&lt;blockquote&gt;
Some might argue extending any of the built-in objects&#039; prototypes is bad form, but those people are wrong.
&lt;/blockquote&gt;
No one can be wrond when it comes to opinions, especially concerning Javascript. Let&#039;s keep the unprovable blanket statements to a minimum. Everyone is entitled to their opinion, and the fact that its so easy for people who don&#039;t know what they&#039;re doing (and even people that do) to break functions that other people rely on is a legitimate concern.
Just because you decide to override the Object class to output your Mom&#039;s name when toString() is called, doen&#039;t mean everyone likes your Mom.</description>
		<content:encoded><![CDATA[<blockquote><p>
Some might argue extending any of the built-in objects&#8217; prototypes is bad form, but those people are wrong.
</p></blockquote>
<p>No one can be wrond when it comes to opinions, especially concerning Javascript. Let&#8217;s keep the unprovable blanket statements to a minimum. Everyone is entitled to their opinion, and the fact that its so easy for people who don&#8217;t know what they&#8217;re doing (and even people that do) to break functions that other people rely on is a legitimate concern.<br />
Just because you decide to override the Object class to output your Mom&#8217;s name when toString() is called, doen&#8217;t mean everyone likes your Mom.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ajaxian Â» Javascript Associative Arrays considered harmful at Blue Sky On Mars</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-10922</link>
		<dc:creator>Ajaxian Â» Javascript Associative Arrays considered harmful at Blue Sky On Mars</dc:creator>
		<pubDate>Fri, 19 May 2006 14:02:18 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-10922</guid>
		<description>[...] In talking about Javascript Associative Arrays considered harmful, Ajaxian mentions that the Prototype library no longer extends Object.prototype as of 1.5. Welcome to the world of compatible JavaScript! (They do extend Array.prototype, but that cause far fewer headaches, if any.) [...]</description>
		<content:encoded><![CDATA[<p>[...] In talking about Javascript Associative Arrays considered harmful, Ajaxian mentions that the Prototype library no longer extends Object.prototype as of 1.5. Welcome to the world of compatible JavaScript! (They do extend Array.prototype, but that cause far fewer headaches, if any.) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob Sanheim</title>
		<link>http://ajaxian.com/archives/javascript-associative-arrays-considered-harmful/comment-page-1#comment-10877</link>
		<dc:creator>Rob Sanheim</dc:creator>
		<pubDate>Fri, 19 May 2006 13:26:41 +0000</pubDate>
		<guid isPermaLink="false">http://ajaxian.com/?p=1190#comment-10877</guid>
		<description>Steve: heh, thanks - fixed.

Tim: true, its like a limited version of a HashTable I suppose.</description>
		<content:encoded><![CDATA[<p>Steve: heh, thanks &#8211; fixed.</p>
<p>Tim: true, its like a limited version of a HashTable I suppose.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

