50.Array

50.1문자열을 분리해 배열로 만들기

입력된 문자열을 지정한 길이만큼 잘라 배열로 만듭니다.

50.1.1예제

Edit 컴포넌트에 입력된 값을 지정된 길이만큼 잘라 배열로 반환합니다.

sample_array_01.xfdl

50.1.2예제에서 사용한 핵심 기능

push

배열에 마지막 값을 추가하는 메소드입니다.

50.1.3예제 구현 방법

1

Form 화면 구성하기

Edit 컴포넌트, Button 컴포넌트를 배치합니다.

2

onclick 이벤트 함수 작성하기

버튼 클릭 시 배열을 생성하고 입력된 문자열 길이만큼 반복하면서 배열에 문자열을 잘라서 추가합니다.

this.Button00_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
    var arrArray = new Array();
    var sString = this.Edit00.value;
    var nSize = 3;
    for (var i = 0; i < sString.length; i+=nSize)
    {        
        arrArray.push(sString.substr(i, nSize)); 
    }
    this.Edit01.set_value(arrArray);
};

예제의 경우 실제 배열에는 아래와 같이 값이 들어갑니다.

3

QuickView로 확인하기

QuickView(Ctrl + F6)로 실행한 후 값을 입력해 확인해봅니다.

50.2중복된 요소 제거하기

입력된 문자열을 배열로 바꾸고 중복된 요소를 제거합니다.

50.2.1예제

Edit 컴포넌트에 입력된 값을 콤마(,)를 기준으로 잘라서 배열로 변환하고 중복된 요소를 제거한 결과를 반환합니다.

sample_array_02.xfdl

50.2.2예제에서 사용한 핵심 기능

split

문자열을 구분자에 따라 분할해 배열로 반환합니다.

50.2.3예제 구현 방법

1

Form 화면 구성하기

Edit 컴포넌트, Button 컴포넌트를 배치합니다.

2

onclick 이벤트 함수 작성하기

버튼 클릭 시 배열을 생성하고 입력된 문자열 길이만큼 반복하면서 배열에 문자열을 잘라서 추가합니다.

this.Button00_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
    var aRtn = this.fn_distinct(this.Edit00.value);
    this.Edit01.set_value(aRtn);
};

this.fn_distinct = function(sParam)
{
    var aData = new Array();
    aData = sParam.split(",");
    
    var aRtn = new Array();
    var bFlag;
    var vDist;
    
    for (var i = 0; i < aData.length; i++)
    {
        vDist = aData[i];
        bFlag = false;
        for (var j = 0; j < aRtn.length; j++)
        {
            if (aRtn[j] == vDist)
            {
                bFlag = true;
                break;
            }
        }
        if (bFlag == false)
        {
            aRtn[aRtn.length] = vDist;            
        }
    }
    return aRtn;  
}

예제에서는 배열에 담긴 모든 요소를 하나하나 비교해가며 중복된 값을 제거했습니다. 배열이 크지 않은 경우에는 큰 차이가 없지만, 크기가 큰 경우에는 배열을 먼저 정렬한 다음 중복된 값을 제거하는 것이 더 빠를 수도 있습니다.

3

QuickView로 확인하기

QuickView(Ctrl + F6)로 실행한 후 값을 입력해 확인해봅니다.

50.3숫자 배열 정렬하기

입력된 문자열을 배열로 바꾸고 정렬한 값을 반환합니다.

50.3.1예제

Edit 컴포넌트에 입력된 값을 콤마(,)를 기준으로 잘라서 배열로 변환하고 문자열 또는 숫자 기준으로 정렬한 값을 표시합니다.

sample_array_03.xfdl

50.3.2예제에서 사용한 핵심 기능

sort

정렬된 새로운 배열을 반환합니다. 파라미터에 함수를 지정하면 정렬 순서를 원하는 형식으로 변경할 수 있습니다.

50.3.3예제 구현 방법

1

Form 화면 구성하기

Edit 컴포넌트, Button 컴포넌트를 배치합니다.

2

onclick 이벤트 함수 작성하기

버튼 클릭 시 배열을 생성하고 입력된 문자열 길이만큼 반복하면서 배열에 문자열을 잘라서 추가합니다.

this.Button00_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
    var arrNo = this.Edit00.value.split(",");
    this.fn_arrayNoSort(arrNo);    
     this.fn_arrayStringSort(arrNo);
};

this.fn_arrayStringSort = function(arrNo)
{
    this.Edit01.set_value(arrNo.sort());
};

this.fn_arrayNoSort = function(arrNo)
{
    this.Edit02.set_value(arrNo.sort(function(a, b){return a-b}));
};

3

QuickView로 확인하기

QuickView(Ctrl + F6)로 실행한 후 값을 입력해 확인해봅니다.

50.42차원 배열 만들기

2차원 배열과 유사한 형식을 구현할 수 있습니다. 정확하게는 배열 안에 배열 요소를 배치하는 방식입니다.

50.4.1예제

생성할 2차원 배열의 행, 열 갯수를 지정하면 2차원 배열 형태를 생성해서 TextArea 컴포넌트에 표시합니다.

sample_array_04.xfdl

50.4.2예제에서 사용한 핵심 기능

new Array()

new Array()로 Array 오브젝트를 생성하지 않고 []를 대입해주어도 Array 오브젝트를 생성합니다.

50.4.3예제 구현 방법

1

Form 화면 구성하기

Edit 컴포넌트, Button 컴포넌트를 배치합니다.

2

onclick 이벤트 함수 작성하기

버튼 클릭 시 배열을 생성하고 입력된 문자열 길이만큼 반복하면서 2차원 배열 형식을 만듭니다.

this.Button00_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
    var arrValue = [];
    var nLen1 = this.Edit00.value;
    var nLen2 = this.Edit01.value;
    for (var i = 0; i < nLen1; i++)
    {
        arrValue[i] = new Array();
        for (var j = 0; j < nLen2; j++)
        {
            arrValue[i][j] = " [" + i + "][" + j + "]";
        }
    }
    var sRtn = "";
    for (var i = 0; i < nLen1; i++)
    {
        sRtn += arrValue[i] + "\n";
    }    
    this.TextArea00.set_value(sRtn);
};

3

QuickView로 확인하기

QuickView(Ctrl + F6)로 실행한 후 값을 입력해 확인해봅니다.