Javascript实现PHP的in_array

 

使用原型引用,编写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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值