[ Nexacro.Etc -  확장 비교함수 ]

 

                        [  ◎ 확장 비교문 ]     

 

 

/*******************************************************************************
 ★ 설명
    MiPlatform의 iif()와 동일
******************************************************************************/

function fn_Iif( expr, v_true, v_false )

{

 return expr ? v_true : v_false;

}

 

/*******************************************************************************
  ★ 설명
     iif 비교 함수크
  ★ Parameter
    1. arg0   : true / false 를 판단 하는 값 ( 예 : 1 == 2 )
    2. arg1   : true 일경우 리턴
    3. arg2   : false 일경우 리턴됨)
  ★ return
    - true 일경우 arg1 리턴
    - false 일경우 arg1 리턴
  ******************************************************************************/

 function iif()

 {

         var varRtnValue = null;

 

        var arrArgument = iif.arguments;

 

        if(arrArgument[0]) {

                 return arrArgument[1];

         } else {

                 return arrArgument[2];

         }

 }

/*******************************************************************************
 ★ 설명
    MiPlatform의 decode()와 동일
******************************************************************************/

function fn_Decode( )

{

 var i, fn;

 fn = Decode;

 for( i = 1 ; i < fn.arguments.length ; i+=2 )

 {

  if( fn.arguments[0] == fn.arguments[i] )

   return fn.arguments[i+1];

 }

 return fn.arguments[i-2];

}


/*******************************************************************************
  ★ 설명
     decode 비교 함수
  ★ Parameter
    1. arg0   : 비교 할 변수
     2. arg1   : 비교 대상 변수
     3. arg2   : 비교 대상 변수가 같을 경우 리턴할 값
     4. 반복..
  ★ return
    - 비교 대상 변수가 같을 경우 값 리턴
  ******************************************************************************/

 function decode()

 {

         var varRtnValue = null;

 

        var arrArgument = decode.arguments;

         var varValue = arrArgument[0];

         var bIsDefault = false;

         var nCount = 0;

 

        if((arrArgument.length % 2) == 0) {

                 nCount = arrArgument.length - 1;

                 bIsDefault = true;

         } else {

                 nCount = arrArgument.length;

                 bIsDefault = false;

         }

 

        for(var i = 1; i < nCount; i+=2) {

                 if(varValue == arrArgument[i]) {

                         varRtnValue = arrArgument[i+1];

                         i = nCount;

                 }

         }

 

        if(varRtnValue == null && bIsDefault) {

                 varRtnValue = arrArgument[arrArgument.length-1];

         }

 

        return varRtnValue;

 }

☞  

 

☞  

 
 
 
 

  

'Nexacro-Function > ETC' 카테고리의 다른 글

Nexacro.Array - 값 존재 위치(index)얻기  (0) 2017.02.09
Nexacro.Etc - Graphic  (0) 2017.01.28
Nexacro.Etc - 파일관리  (0) 2017.01.28
Posted by 농부지기
,