JS中复合数组associative array和对象是等同的,判断一个key是否存在于数组中(或对象是否包含某个属性),不能使用ary[key] == undefined,由于可能存在ary = {key:undefined};正确的方法应该为:html
ary.hasOwnProperty(key); 或 obj.hasOwnProperty(key);
另外使用key-value pair对复合数组或对象进行loop的时候应该使用:数组
for(var key in ary) { document.write(key+" : "+ary[key]); }
相关连接oop