JS中数组和对象是等同的,判断一个key是否存在于数组中(或对象是否包含某个属性),我们可能马上想到的是使用ary[key] == undefined来判断key是否存在这个数组或者是对象中
,但是这样判断是有问题的,因为可能存在ary = {key:undefined};
正确的方法应该为:
ary.hasOwnProperty(key); 或 obj.hasOwnProperty(key);
另外数组或对象进行循环的时候应该使用:
for(var key in ary) { console.log(key+" : "+ary[key]); }