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

 更新时间:2013年09月03日 16:14:47   作者:  
最近在写jquery的combobox插件时遇到效率问题,再加上jquery选择器的类帅选,导致效率很慢,采用以下方式二,可以轻松解决此问题
复制代码 代码如下:

//常规实现一:
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选择器的类帅选,导致效率很慢。采用方式二后,效率明显有所提升。

相关文章

  • 微信小程序getLocation 需要在app.json中声明permission字段

    微信小程序getLocation 需要在app.json中声明permission字段

    这篇文章主要介绍了微信小程序getLocation 需要在app.json中声明permission字段,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • JS实现复选框的全选和批量删除功能

    JS实现复选框的全选和批量删除功能

    本文主要介绍了JS实现复选框的全选和批量删除功能的方法代码。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • 微信小程序之GET请求的实例详解

    微信小程序之GET请求的实例详解

    这篇文章主要介绍了微信小程序之GET请求的实例详解的相关资料,希望通过本文能帮助到大家,让大家理解掌握该如何使用get请求,需要的朋友可以参考下
    2017-09-09
  • JS实现显示当前日期的实例代码

    JS实现显示当前日期的实例代码

    本文通过实例代码给大家介绍了js实现显示当前日期功能,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-07-07
  • js 页面关闭前的出现提示的实现代码

    js 页面关闭前的出现提示的实现代码

    主流的浏览器都支持onbeforeunload事件(即页面卸载前触发的事件),而现在大多网站都用到了此功能
    2011-05-05
  • Websocket 向指定用户发消息的方法

    Websocket 向指定用户发消息的方法

    这篇文章主要介绍了Websocket 向指定用户发消息的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • JS实现简易图片轮播效果的方法

    JS实现简易图片轮播效果的方法

    这篇文章主要介绍了JS实现简易图片轮播效果的方法,实例分析了javascript操作图片实现轮播特效的技巧,需要的朋友可以参考下
    2015-03-03
  • javascript运动框架用法实例分析(实现放大与缩小效果)

    javascript运动框架用法实例分析(实现放大与缩小效果)

    这篇文章主要介绍了javascript运动框架用法,结合实例形式分析了javascript运动框架的实现与使用技巧,可实现div块的放大与缩小功能,需要的朋友可以参考下
    2016-01-01
  • layui 中select下拉change事件失效的解决方法

    layui 中select下拉change事件失效的解决方法

    今天小编就为大家分享一篇layui 中select下拉change事件失效的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • javascript动态生成树形菜单的方法

    javascript动态生成树形菜单的方法

    这篇文章主要介绍了javascript动态生成树形菜单的方法,涉及JavaScript针对页面元素与属性的动态操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11

最新评论