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

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

  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. }

或者

  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. }

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

  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. }

使用方法就是

  1. var arr=["a","b"];
  2. alert(arr.in_array("a"))
上一篇:Js数组里剔除指定的元素(不是指定的位置)


下一篇:菜鸟回应天猫国际直邮升级:仅搭建平台,商家可自主选择推荐物流商