JavaScript中的关联数组

通常的数组在填充时会隐式或者显示指定数组下标,但JS中数组可以以名字的形式为元素赋值,这就形成了关联数组,如:

var arr=new Array();
arr["china"]="beijing,niaoling,hulan";
arr["usa"]="newyork,washington,atlanta";
arr["japan"]="tokyo";
 

alert(arr["china"]);
alert(arr["japan"]);

alert(arr[0]); 

注意上面的alert(arr[0]);这一句,它会返回undifined。这就意味着,关联数组中,不能再以传统的下标方式来访问数组元素而必须通过元素的名字。

这种通过名字来访问数组元素的形式有可读性高,灵活方便的优势。一定程度上它可以作为JS中的哈希表来使用。

对关联数组进行遍历时需要使用for in 循环,注意以下代码中两种不同的遍历方式:

var arr=new Array();
arr["china"]="beijing,niaoling,hulan";
arr["usa"]="newyork,washington,atlanta";
arr["japan"]="tokyo";
 

// 这种方式可以遍历关联数组中的名称
for(var item in arr){
alert(item);
}

// 这种方式可以遍历关联数组中的各元素
for(var item in arr){
alert(arr[item]);
}