2010-06-21 15:10:21.0
有575人喜欢这篇文章
要判断数组中是否包含某个元素,从原理来来说,就是遍历整个数组,然后判断是否相等,我们来造个轮子,名字就山寨PHP的数组函数in_array()
1 | Array.prototype.in_array = function (e) |
3 | for (i=0;i< this .length;i++) |
或者
1 | Array.prototype.in_array = function (e) |
3 | for (i=0;i< this .length && this [i]!=e;i++); |
4 | return !(i== this .length); |
这两个都是可以的。其实就是一个形式,写法不一样而已。 还有一个大牛是这样写的
1 | Array.prototype.S=String.fromCharCode(2); |
2 | Array.prototype.in_array= function (e) |
4 | var r= new RegExp( this .S+e+ this .S); |
5 | return (r.test( this .S+ this .join( this .S)+ this .S)); |
使用方法就是
2 | alert(arr.in_array( "a" )) |