JS中複合數組associative array和對象是等同的,判斷一個key是否存在于數組中(或對象是否包含某個屬性),不能使用
ary[key] == undefined
,因為可能存在
ary = {key:undefined};
正确的方法應該為:
ary.hasOwnProperty(key); 或 obj.hasOwnProperty(key);
另外使用key-value pair對複合數組或對象進行loop的時候應該使用:
for(var key in ary) { document.write(key+" : "+ary[key]); }