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


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 相关文章推荐
js 刷新页面的代码小结 推荐
Apr 02 Javascript
JS维吉尼亚密码算法实现代码
Nov 09 Javascript
基于KMP算法JavaScript的实现方法分析
May 03 Javascript
js克隆对象、数组的常用方法介绍
Sep 26 Javascript
javascript实现自动填写表单实例简析
Dec 02 Javascript
BootStrap 智能表单实战系列(十)自动完成组件的支持
Jun 13 Javascript
详解Angular5 服务端渲染实战
Jan 04 Javascript
Vuex 入门教程
Jan 10 Javascript
详解vue 路由跳转四种方式 (带参数)
Apr 28 Javascript
微信小程序云开发(数据库)详解
May 17 Javascript
Element-ui DatePicker显示周数的方法示例
Jul 19 Javascript
微信小程序报错: thirdScriptError的错误问题
Jun 19 Javascript
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
PHP file_get_contents设置超时处理方法
2013/09/30 PHP
SESSION存放在数据库用法实例
2015/08/08 PHP
PHP levenshtein()函数用法讲解
2019/03/08 PHP
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
jQuery队列控制方法详解queue()/dequeue()/clearQueue()
2010/12/02 Javascript
js显示时间 js显示最后修改时间
2013/01/02 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
JS中setTimeout的巧妙用法前端函数节流
2016/03/24 Javascript
JavaScript函数柯里化详解
2016/04/29 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
js enter键激发事件实例代码
2016/08/17 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
微信开发 消息推送实现代码
2016/10/21 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
2016/10/24 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
Vue实现active点击切换方法
2018/03/16 Javascript
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
小程序实现自定义导航栏适配完美版
2019/04/02 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
canvas粒子动画背景的实现示例
2018/09/03 HTML / CSS
HTML5实现移动端点击翻牌功能
2020/10/23 HTML / CSS
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
优秀员工自荐书范文
2013/12/08 职场文书
学校元旦晚会方案
2014/02/19 职场文书
个人贷款承诺书
2014/03/28 职场文书
作文评语集锦大全
2014/04/23 职场文书
社区植树节活动总结
2015/02/06 职场文书
给朋友的道歉短信
2015/05/12 职场文书
毕业设计致谢词
2015/05/14 职场文书
奖学金申请书(范文)
2019/08/14 职场文书
Pytest allure 命令行参数的使用
2021/04/18 Python