快速查找数组中的某个元素并返回下标示例


Posted in Javascript onSeptember 03, 2013
//常规实现一: 
function isHasElementOne(arr,value){ 
for(var i = 0,vlen = arr.length; i < vlen; i++){ 
if(arr[i] == value){ 
return i; 
} 
} 
return -1; 
} 
//实现二: 
function isHasElementTwo(arr,value){ 
var str = arr.toString(); 
var index = str.indexOf(value); 
if(index >= 0){ 
//存在返回索引 
var reg1 = new RegExp("((^|,)"+value+"(,|$))","gi"); 
return str.replace(reg1,"$2@$3").replace(/[^,@]/g,"").indexOf("@"); 
}else{ 
return -1;//不存在此项 
} 
}

补充:
function isHasElement(arr,value){ 
var str = arr.toString(); 
var index = str.indexOf(value); 
if(index >= 0){ 
//存在返回索引 
//"(^"+value+",)|(,"+value+",)|(,"+value+"$)" 
value = value.toString().replace(/(\[|\])/g,"\\$1"); 
var reg1 = new RegExp("((^|,)"+value+"(,|$))","gi"); 
return str.replace(reg1,"$2@$3").replace(/[^,@]/g,"").indexOf("@"); 
}else{ 
return -1;//不存在此项 
} 
}

最近在写jquery的combobox插件时遇到效率问题,再加上jquery选择器的类帅选,导致效率很慢。采用方式二后,效率明显有所提升。
Javascript 相关文章推荐
重构Javascript代码示例(重构前后对比)
Jan 23 Javascript
zeroclipboard 单个复制按钮和多个复制按钮的实现方法
Jun 14 Javascript
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
Nov 20 Javascript
JavaScript的jQuery库中function的存在和参数问题
Aug 13 Javascript
深入理解js数组的sort排序
May 28 Javascript
JS创建Tag标签的方法详解
Jun 09 Javascript
手把手教你搭建ES6的开发运行环境
Jul 11 Javascript
Angular4学习笔记之根模块与Ng模块
Sep 09 Javascript
bootstrap-Treeview实现级联勾选
Nov 23 Javascript
vuex的简单使用教程
Feb 02 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
Feb 20 jQuery
详解JQuery基础动画操作
Apr 12 jQuery
iframe的父子窗口之间的对象相互调用基本用法
Sep 03 #Javascript
使用jquery hover事件实现表格的隔行换色功能示例
Sep 03 #Javascript
使用js操作cookie的一点小收获分享
Sep 03 #Javascript
jquery 实现窗口的最大化不论什么情况
Sep 03 #Javascript
jQuery动态添加删除select项(实现代码)
Sep 03 #Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
Sep 02 #Javascript
输入自动提示搜索提示功能的javascript:sugggestion.js
Sep 02 #Javascript
You might like
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
基于PHP文件操作的详细诠释
2013/06/21 PHP
PHP采用XML-RPC构造Web Service实例教程
2014/07/16 PHP
PHP中的日期加减方法示例
2014/08/21 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
2014/11/24 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
8款非常棒的响应式jQuery 幻灯片插件推荐
2012/02/02 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
js数组方法扩展实现数组统计函数
2014/04/09 Javascript
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
详解PHP中pathinfo()函数导致的安全问题
2017/01/05 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
VUE搭建手机商城心得和遇到的坑
2019/02/21 Javascript
vue读取本地的excel文件并显示在网页上方法示例
2019/05/29 Javascript
jquery实现简单拖拽效果
2020/07/20 jQuery
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
python修改字典内key对应值的方法
2015/07/11 Python
Python实现简单文本字符串处理的方法
2018/01/22 Python
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
python plotly绘制直方图实例详解
2019/07/22 Python
使用pyshp包进行shapefile文件修改的例子
2019/12/06 Python
pytorch实现focal loss的两种方式小结
2020/01/02 Python
python获取栅格点和面值的实现
2020/03/10 Python
python七种方法判断字符串是否包含子串
2020/08/18 Python
python selenium 获取接口数据的实现
2020/12/07 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
Deichmann英国:德国鞋类零售商
2021/01/30 全球购物
教师对学生的寄语
2014/04/03 职场文书
安全生产目标责任书
2014/04/14 职场文书
企业安全生产月活动总结
2014/07/05 职场文书
红与黑读书笔记
2015/06/29 职场文书
AngularJS实现多级下拉框
2022/03/25 Javascript