Javascript实现PHP的in_array

来源:互联网 发布:考研英语二经验知乎 编辑:程序博客网 时间:2024/05/18 01:27

 

使用原型引用,编写Javascript下模拟PHP的in_array函数。
 
<script language="javascript" type="text/javascript" id="commonjs">
Array.prototype.in_array = function(e)
{
for(i=0;i<this.length && this[i]!=e;i++);
return !(i==this.length);
}
var aa = new Array(1,2,'aa','bbb',4,5);
alert(aa.in_array(3));
alert(aa.in_array('aa'));
</script>
 
2005年12月26日0时补充
子乌的方法效率似乎更为好一些:
 
<script language="javascript" type="text/javascript" id="commonjs">
Array.prototype.S = String.fromCharCode(2);
Array.prototype.in_array = function(e)
{
 var re = new RegExp(this.S+e+this.S);
 return re.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'));
</script>
======================================================================

jQuery有个inArray( value, array ),返回的是key,如果没找到,则返回-1。

用的时候老混淆,所以写一个可以和php里in_array一样用法的。

function in_array(v,a){
for(key in a){
if(a[key]==v) return true
}
return false
}

若有jQuery,可直接写

function in_array(v,a){
return jQuery.inArray(v,a)>=0;
}

原创粉丝点击