xiaoyangok 发表于 2013-2-7 00:14:39

(转) 判断js数组包是否包含某个元素

要判断数组中是否包含某个元素,从原理来来说,就是遍历整个数组,然后判断是否相等,我们来造个轮子,名字就山寨PHP的数组函数in_array()

Array.prototype.in_array = function(e){for(i=0;i<this.length;i++){if(this == e)return true;}return false;}


或者
Array.prototype.in_array = function(e){for(i=0;i<this.length && this!=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 arr=["a","b"];alert(arr.in_array("a"))
页: [1]
查看完整版本: (转) 判断js数组包是否包含某个元素