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


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方法和技巧大全
Dec 27 Javascript
javascript编程起步(第六课)
Jan 10 Javascript
子页向父页传值示例
Nov 27 Javascript
动态加载dtree.js树treeview(示例代码)
Dec 17 Javascript
一个不错的字符串转码解码函数(自写)
Jul 31 Javascript
jQuery淡入淡出元素让其效果更为生动
Sep 01 Javascript
html的DOM中Event对象onabort事件用法实例
Jan 21 Javascript
Bootstrap实现响应式导航栏效果
Dec 28 Javascript
JavaScript学习总结之JS、AJAX应用
Jan 29 Javascript
js 监控iframe URL的变化实例代码
Jul 12 Javascript
深入了解query和params的使用区别
Jun 24 Javascript
vue设置默认首页的操作
Aug 12 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 随机记录mysql rand()造成CPU 100%的解决办法
2010/05/18 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
PHP http请求超时问题解决方案
2020/11/13 PHP
JavaScript回调(callback)函数概念自我理解及示例
2013/07/04 Javascript
javascript避免数字计算精度误差的方法详解
2014/03/05 Javascript
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
JavaScript体验异步更好的解决办法
2018/01/08 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
React生命周期原理与用法踩坑笔记
2020/04/28 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[04:00]黄浦江畔,再会英雄——完美世界DOTA2 TI9应援视频
2019/07/31 DOTA
flask + pymysql操作Mysql数据库的实例
2017/11/13 Python
python3.6+django2.0开发一套学员管理系统
2018/03/03 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
python 8种必备的gui库
2020/08/27 Python
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
英国水族馆和池塘用品购物网站:Warehouse Aquatics
2019/08/29 全球购物
银行门卫岗位职责
2013/12/29 职场文书
九年级历史教学反思
2014/01/27 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
我为自己代言广告词
2014/03/18 职场文书
体现团队精神的口号
2014/06/06 职场文书
公司董事长助理工作职责
2014/07/12 职场文书
创先争优承诺书
2015/01/20 职场文书
实习护士自荐信
2015/03/25 职场文书
2015年优质护理服务工作总结
2015/04/08 职场文书
党员转正介绍人意见
2015/06/03 职场文书
同意报考公务员证明
2015/06/17 职场文书
田径运动会通讯稿
2015/07/18 职场文书
创业计划书之干洗店
2019/09/10 职场文书
解析Java中的static关键字
2021/06/14 Java/Android
Java实现简单小画板
2022/06/10 Java/Android