PHP的陣列函數in_array()非常方便,可JS就不是了。其實我很不喜歡JS的陣列~
別說了,直接上方法
複製代碼代碼如下:
Array.prototype.in_array = function(e)
{
for(i=0;i<this.length;i++)
{
if(this[i] == e)
return true;
}
return false;
}
或者
複製代碼代碼如下:
Array.prototype.in_array = function(e)
{
for(i=0;i<this.length && this[i]!=e;i++);
return !(i==this.length);
}
這兩個都是可以的。其實就是一個形式,寫法不一樣而已。
當然,還有一種方法是我比較推薦的,
複製代碼代碼如下:
Array.prototype.S=String.fromCharCode(2);
Array.prototype.in_array=function(e)
{
var r=new RegExp(this.S+e+this.S);
return (r.test(this.S+this.join(this.S)+this.S));
}
我個人比較喜歡這個,看不懂麼有關係,你只管用我寫好的程式碼就成了,嘎嘎。 。
模擬數據檢測一下就好
複製代碼代碼如下:
var aa = new Array(1,2,'aa','bbb',4,5);
alert(aa.in_array(3));
alert(aa.in_array('aa'));