首頁 >web前端 >js教程 >快速尋找數組中的某個元素並返回下標範例_javascript技巧

快速尋找數組中的某個元素並返回下標範例_javascript技巧

WBOY
WBOY原創
2016-05-16 17:23:412939瀏覽
複製代碼 代碼如下:

//常規實現一:
function isHasElementOne(arr,value ){
for(var i = 0,vlen = arr.length; 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選擇器的類帥選,導致效率很慢。採用方式二後,效率明顯提升。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn