首頁 >web前端 >js教程 >jQuery中inArray方法注意事項分析_jquery

jQuery中inArray方法注意事項分析_jquery

WBOY
WBOY原創
2016-05-16 15:18:081483瀏覽

本文分析講述了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程式設計有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn