判断数组是否包含某个元素的js函数实现方法


Posted in Javascript onMay 19, 2016

判断数组是否包含某个元素的js函数实现方法

Array.prototype.contains = function(obj) {
  var i = this.length;
  while (i--) {
    if (this[i] === obj) {
      return true;
    }
  }
  return false;
}

Array.prototype.contains = function(element) {
  for (var i = 0; i < this.length; i++) {
    if (this[i] == element) {
      return true;
    }
  }
  return false;
}


Array.prototype.in_array = function(e) {
  for(i=0; i<this.length && this[i]!=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"))

据说while减迭代是js里最快的一种方法,不知道是不是真的,出自

http://stackoverflow.com/questions/237104/javascript-array-containsobj

这里讨论的很激烈,建议去看看,如果有使用jQuery的话,直接使用jQuery实现的方法,参考地址:

http://api.jquery.com/jQuery.inArray/

以上这篇判断数组是否包含某个元素的js函数实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery ajax 检测用户注册时用户名是否存在
Nov 03 Javascript
jQuery写fadeTo示例代码
Feb 21 Javascript
javascript面向对象之对象的深入理解
Jan 13 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
Mar 03 Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
Jul 30 Javascript
javascript如何定义对象数组
Jun 07 Javascript
JQuery 设置checkbox值二次无效的解决方法
Jul 22 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
Sep 05 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
Dec 29 Javascript
js实现下拉框效果(select)
Mar 28 Javascript
jQuery 控制文本框自动缩小字体填充
Jun 16 jQuery
微信小程序结合Storage实现搜索历史效果
May 18 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
May 19 #Javascript
去除html代码里面的script正则方法
May 19 #Javascript
javascript面向对象程序设计高级特性经典教程(值得收藏)
May 19 #Javascript
jQuery获取当前点击的对象元素(实现代码)
May 19 #Javascript
jquery显示隐藏元素的实现代码
May 19 #Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
May 19 #Javascript
JavaScript中的ParseInt(&quot;08&quot;)和“09”返回0的原因分析及解决办法
May 19 #Javascript
You might like
虫族 Zerg 历史背景
2020/03/14 星际争霸
destoon之一键登录设置
2014/06/21 PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
php简单图像创建入门实例
2015/06/10 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
php双层循环(九九乘法表)
2017/10/23 PHP
jquery插件之easing使用
2010/08/19 Javascript
JS编程小常识很有用
2012/11/26 Javascript
定时器(setTimeout/setInterval)调用带参函数失效解决方法
2013/03/26 Javascript
uploadify多文件上传参数设置技巧
2015/11/16 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
使用JavaScript为一张图片设置备选路径的方法
2017/01/04 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
AugularJS从入门到实践(必看篇)
2017/07/10 Javascript
详解如何使用webpack+es6开发angular1.x
2017/08/16 Javascript
详解如何使用 vue-cli 开发多页应用
2017/12/16 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
vue把输入框的内容添加到页面的实例讲解
2019/11/11 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
Django中实现一个高性能计数器(Counter)实例
2014/07/09 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
2019/03/01 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
2019/09/24 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
Python 实现简单的客户端认证
2020/07/29 Python
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
电气工程及其自动化专业毕业生自荐信
2014/06/21 职场文书
森林防火宣传标语
2014/06/27 职场文书
社会工作专业自荐信
2014/09/26 职场文书
检察院院长群众路线教育实践活动个人整改措施
2014/10/04 职场文书
2014年收银工作总结
2014/11/13 职场文书
储备店长岗位职责
2015/04/14 职场文书
刑事起诉书范文
2015/05/19 职场文书