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


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 中debug方式
Feb 07 Javascript
jquery实现树形二级菜单实例代码
Nov 20 Javascript
JS 仿腾讯发表微博的效果代码
Dec 25 Javascript
页面图片浮动左右滑动效果的简单实现案例
Feb 10 Javascript
javascript事件冒泡详解和捕获、阻止方法
Apr 12 Javascript
jQuery获取动态生成的元素示例
Jun 15 Javascript
js实现文本框支持加减运算的方法
Aug 19 Javascript
基于 Vue 的树形选择组件的示例代码
Aug 18 Javascript
Nginx 配置多站点vhost 的方法
Jan 07 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
Dec 28 Javascript
ES6的异步终极解决方案分享
Jul 11 Javascript
js实现购物车商品数量加减
Sep 21 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及Zend Engine的线程安全模型分析
2011/11/10 PHP
php数组(array)输出的三种形式详解
2013/06/05 PHP
php二维数组排序方法(array_multisort usort)
2013/12/25 PHP
php5.3以后的版本连接sqlserver2000的方法
2014/07/28 PHP
php快速排序原理与实现方法分析
2016/05/26 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
javascript整除实现代码
2010/11/23 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
基于js实现投票的实例代码
2015/08/04 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
移动端触屏幻灯片图片切换插件idangerous swiper.js
2017/04/10 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
微信小程序-滚动消息通知的实例代码
2017/08/03 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
2017/12/15 Javascript
详解Angular6 热加载配置方案
2018/08/18 Javascript
详解Vue组件之作用域插槽
2018/11/22 Javascript
Nuxt.js 数据双向绑定的实现
2019/02/17 Javascript
Vue中使用matomo进行访问流量统计的实现
2019/11/05 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
Python数据结构与算法之图结构(Graph)实例分析
2017/09/05 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
2019/06/21 Python
Python 文件数据读写的具体实现
2020/01/24 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
2020/06/22 Python
python之pygame模块实现飞机大战完整代码
2020/11/29 Python
Html5 Canvas 实现一个“刮刮乐”游戏
2019/09/05 HTML / CSS
Annoushka英国官网:英国奢侈珠宝品牌
2018/10/20 全球购物
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
钳工实习自我鉴定
2013/09/19 职场文书
企业管理部经理岗位职责
2013/12/24 职场文书
中学生国庆节演讲稿2015
2015/07/30 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书
小程序教您怎样你零成本推广获取数万用户的方法
2019/07/30 职场文书
拥有这5个特征人,“命”都不会太差
2019/08/16 职场文书