//일반 구현 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 선택기의 클래스 선택과 결합되어 효율성이 매우 느렸습니다. 두 번째 방법을 채택하면 효율성이 확실히 향상됩니다.