yunsh206

회원가입로그인

컴퓨터 Javascript IN

2020.11.18 00:55

RanomA 조회 수:260

SQL의 IN 연산자를 Javascript 에서 흉내내본 것이다.

같은 변수가 여러 개 중의 하나라도 (하나 이상) 일치하는 게 있으면 true를 반환하는 것인데, 아래와 같은 걸 대체하려고 쓴다.

 

if (varA == "2" || varA == "3" || varA == "5" || varA == "7" || varA == "11")
{
}

요런 걸 간단하게

 

if(varA.IN("2", "3", "5", "7", "11"))
{
}

요렇게 표현하고 싶을 때 쓰는 용도이다. SQL에 익숙하지 않으면 맘에 안들겠지만 SQL 아는 사람에게는 쉽게 눈에 들어오라고, 코드도 간략해지라고 한다.

 

String.prototype.IN = function()
{
    var thisVal = this.valueOf();
    for(var i = 0; i < arguments.length; i++)
    {
        if(thisVal == arguments[i]) return true;
    }
    return false;
};
Number.prototype.IN = function()
{
    var thisVal = this.valueOf();
    for(var i = 0; i < arguments.length; i++)
    {
        if(thisVal == arguments[i]) return true;
    }
    return false;
};