#### 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);
~~~