jquery中inArray方法

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等於-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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章