[JavaScript] array使用字串Key,取不到array內容

最近突然被一個小問題卡住

Javascript 的 陣列使用字串為Key值時,
會發生,無法取得陣列長度,也無法取得陣列內容
但直接指定key值卻是正常的

var  ary= [];
ary["key"]=4;

這個時後

用console.log(ary) 會發現 ary是空的
ary["key"] 卻取的出值

因key值為字串,應把陣列改成物件

var ary={}
ary["key"] =4;

使用console.log(ary) 就可以正確取到物件內容
也可以正確使用 foreach 或jquery的 each 直接取到所有資料了。