#### JavaScript判断数组是否存在key
* * * * *
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]); }
~~~
#### js如何查找数组中是否存在某个值
可以用数组的indexOf函数,方法arr.indexOf(find,start);
find:要找的内容,必须;
start:查找开始下标,可选;
返回:查找数据所在的下标,如果没找到,返回-1;
##### 用例:
如果只要知道是否有8这个数字,直接调用arr.indexOf(8),如果返回值不为-1,说明找到了
~~~
var s=[1,2,3,5,6,9];
var u=s.indexOf(5);//返回5所在的下标3
var d=s.indexOf(8);//返回-1
console.log(u);
console.log(d);
~~~