>  기사  >  웹 프론트엔드  >  배열에서 요소를 빠르게 찾고 아래 첨자 example_javascript 기술을 반환합니다.

배열에서 요소를 빠르게 찾고 아래 첨자 example_javascript 기술을 반환합니다.

WBOY
WBOY원래의
2016-05-16 17:23:412907검색
코드 복사 코드는 다음과 같습니다.

//일반 구현 1:
function isHasElementOne( arr,value ){
for(var i = 0,vlen = arr.length; i < vlen; i ){
if(arr[i] == value){
return i; 🎜>}
}
return -1;
}
//구현 2:
function isHasElementTwo(arr,value){
var str = arr.toString()
var index = str.indexOf(value);
if(index >= 0){
//반환 인덱스가 있습니다
var reg1 = new RegExp("((^|,) " 값 "(, |$))","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.toString().replace(/([|])/g,"\$1");
var reg1 = new RegExp("((^ |,)" value "(,|$))","gi")
return str.replace(reg1,"$2@$3").replace(/[^ ,@]/g,"") .indexOf("@");
}else{
return -1;//이 항목이 존재하지 않습니다
}
}

최근 jquery 콤보박스 작성 중 플러그인할 때 효율성 문제가 발생했고 jquery 선택기의 클래스 선택과 결합되어 효율성이 매우 느렸습니다. 두 번째 방법을 채택하면 효율성이 확실히 향상됩니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.