通常的數組在填充時會隱式或者顯示指定數組下標,但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]);
}