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]); }