Array

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

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

예제

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

sample_array_01.xfdl

예제에서 사용한 핵심 기능

push

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

예제 구현 방법

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)로 실행한 후 값을 입력해 확인해봅니다.

중복된 요소 제거하기

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

예제

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

sample_array_02.xfdl

예제에서 사용한 핵심 기능

split

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

예제 구현 방법

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)로 실행한 후 값을 입력해 확인해봅니다.

숫자 배열 정렬하기

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

예제

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

sample_array_03.xfdl

예제에서 사용한 핵심 기능

sort

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

예제 구현 방법

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)로 실행한 후 값을 입력해 확인해봅니다.

2차원 배열 만들기

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

예제

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

sample_array_04.xfdl

예제에서 사용한 핵심 기능

new Array()

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

예제 구현 방법

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)로 실행한 후 값을 입력해 확인해봅니다.