|
最近在写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选择器的类帅选,导致效率很慢。采用方式二后,效率明显有所提升。 |
|