It will "work". (but I do not recommend it)
var a = {};
var b = [1,2,3];
a[b] = 'hello';
This works because when you pass an array [1,2,3] as a hash (map / associative array), the hash is converted to the string "1,2,3" before converting the hash. It should suit your needs if you do not need two different arrays of the same value to display different hash values.
var c = [1,2,3]
As already mentioned, you will need more than the standard JavaScript hash if you want to use object references as your keys.
Update
@speedplane:
, JS toString() , -. , , :
["x", "y", "z"].toString; // 'x,y,z'
["x,y,z"].toString(); // 'x,y,z'
[1,2,3].toString(); // '1,2,3'
[1,2,'3'].toString(); // '1,2,3'
[[1],[2],[3]].toString(); // '1,2,3'
[["x",1], ["y",2], ["z",3]].toString(); // 'x,1,y,2,z,3'
, , , . .