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

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

 

[javascript] view plaincopy
 
  1. Array.prototype.in_array = function(e)  
  2. {  
  3. for(i=0;i<this.length;i++)  
  4. {  
  5. if(this[i] == e)  
  6. return true;  
  7. }  
  8. return false;  
  9. }  

 

或者

 

[javascript] view plaincopy
 
  1. Array.prototype.in_array = function(e)  
  2. {  
  3. for(i=0;i<this.length && this[i]!=e;i++);  
  4. return !(i==this.length);  
  5. }  

 

这两个都是可以的。其实就是一个形式,写法不一样而已。 还有一个大牛是这样写的

 

[javascript] view plaincopy
 
  1. Array.prototype.S=String.fromCharCode(2);  
  2. Array.prototype.in_array=function(e)  
  3. {  
  4. var r=new RegExp(this.S+e+this.S);  
  5. return (r.test(this.S+this.join(this.S)+this.S));  
  6. }  

 

使用方法就是

 

[javascript] view plaincopy
 
  1. var arr=["a","b"];  
  2. alert(arr.in_array("a"))  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。