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'));
更多類似php的js數組的in_array函數自訂方法相關文章請關注PHP中文網!