Associative arrays in JavaScript
JavaScript does not have associative arrays. (This will be old news to many.)
Confusion arises from the fact that array syntax in JavaScript is very
similar to array syntax in PHP, a language that does have associative
arrays. Additionally, any object in JavaScript can be treated as an
associative array. This means that if one creates a JavaScript Array
object and proceeds to use PHP's associative array syntax in an attempt
to add items to it, one will succeed in assigning it attribute–value
pairs. The object in question need not be an Array for this to work,
though, so for the sake of clarity using a vanilla Object is advisable.
To gain a more detailed understanding of why JavaScript appears to have associative arrays, read JavaScript "Associative Arrays" Considered Harmful.