Question: ```
var my = {};

my["1"] = "tom";

my["2"] = "tony";

document.writeln(my["2"]);

```

A simple question, what is the {} called? I know [] is called arraylist and I can do my.indexOf() etc. on it, but this doesn't work with {}.

Where can I find a list of operation I can perform with list with {}

Answer: 
Specifically, the `{}` in that case denotes *object literal notation*. It's a syntactical feature of the language that is one way of creating an `Object`.

This...

```
var my = {};

```

...simply creates an Object that doesn't own any properties directly.

You can use the same *object literal* syntax to give the Object properties immediately.

```
var my = {
    '1': 'tom',
    '2': 'tony'
};

```

An equivalent code for creating an empty object would be to use the `Object` constructor...

```
var my = new Object();

```

You should be aware that an Object in JavaScript is unordered. The numeric indices you gave it will not guarantee any sort of ordering when enumerating the object. To get an ordered loop, you'd need to get an Array of the keys, sort them, then iterate the Array.

For example...

```
var my_keys = Object.keys(my);

my_keys.sort(function(a,b) {
    return a - b;
});

for (var i = 0; i < my_keys[i]; i++)
    console.log(my[my_keys[i]]);

```
an "Object"
<http://www.dyn-web.com/tutorials/obj_lit.php>