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

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

Java代码  
  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. }  




或者

Java代码  
  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. }   



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

Java代码  
  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. }  

 

使用方法就是

Java代码  
  1. var arr=[ "a" , "b" ];    
  2. alert(arr.in_array("a" ))    

你可能感兴趣的:(判断js数组包是否包含某个元素)