类似php的js数组的in_array函数自定义方法

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'));