Associative Arrays in Javascript


The associative array (also known as hash map) is similar to the ordinary array. Instead of indexing by integers, the associative array uses string keys. It also lacks the bookkeeping abilities of the ordinary array like sort(), splice() etc. In Javascript every object has the ability to act as an associative array.

Creating an associative array and filling it with some data:

var container = {};
container["someKey"] = 3;
container["someOtherKey"] = someObject;
container["anotherKey"] = "Some text";

// ... or equivalently
var container = {
  someKey: 3,
  someOtherKey: someObject,
  anotherKey: "Some text"

Accessing elements in the associative array:

var someValue = container["someKey"];
container["otherKey"] = someValue;

// ... or equivalently
var someValue = container.someKey;
container.otherKey = someValue;

Iterating through all the elements in the associative array:

for (var key in container) {
   // hasOwnProperty() checks that attribute is from non-inherited prototype
   if (container.hasOwnProperty(key)) {
      var element = container[key];

Deleting a key in the associative array:

delete container["someKey"];

// ... or equivalently
delete container.someKey;

// Notice: Don't assign null to the deleted key as
// this will re-create the key!

Checking if a key exists in the associative array:

if (container["someKey"] === undefined) {
   // Key does not exist

// ... or equivalently
if (container.someKey === undefined) {
   // Key does not exist


Hello world!

This is a blog by Trond Olsen. It’s mainly just a personal diary about programming stuff I’ve encountered. The content of the posts are not static and may change in the future.