本文分析講述了jQuery中inArray方法注意事項。分享給大家參考,具體如下:
jquery為web開發者提供了很大的便捷,本文寫作的目地是提醒大家慎重jquery中的inArray方法。
大家都知道javascript是一種弱型語言,對於數字型別和字元類型,可以隨意切換(例如:1+""="1"),以下開始說主題:
jquery的一個方法inArray(ele, array)是判斷ele是否在array中存在,傳回值是該元素第一次出現在陣列array中的下標,沒有時回傳-1。
例如:
var a = 1; var array = [1,2,3]; var b = $.inArray(a, array);
此時,b等於0。
但是,如果此時將a="1";,那麼,再執行一下:
b = $.inArray(a, array);
此時,b等於-1。這將帶來一個問題,因為有的人可能只希望得到這樣的判斷:"1" == 1,該邏輯表達式實在在javascript環境中,返回的是true,但是,在inArray中,返回的確實false,所以,如果一個數組中,存放的是非物件變量,尤其是對數字進行判斷時,最好採用原始的判斷方法。
也可以採用正規表示式來驗證如下:
var a = 1; var reg = new RegExp("(^"+a+",)|(^"+a+"$)|(,"+a+",)|(,"+a+"$)"); var array = [1,2,3,4]; reg.test(array.toString());// true a = "1"; reg.test(array.toString());// true
好了,就說這麼多~~
更多關於jQuery數組相關內容有興趣的讀者可查看本站專題:《jquery數組用法總結》
希望本文所述對大家jQuery程式設計有所幫助。