일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 워렌 버핏
- 마이크로소프트
- Microsoft
- Genome2D
- 플래시
- 물리엔진
- 플렉스
- 도서
- 아폴로
- XAML
- 3.0
- ActionScript
- 주식
- Silverlight
- API
- 액션스크립트
- Flash
- adobe
- Air
- Papervision
- starling
- 아폴로케이션
- 실버라이트
- framework
- 어도비
- stage3d
- Flex
- Papervision3D
- 3D
- 책
- Today
- Total
WonHada.com으로 이전
Array 클래스에 새롭게 추가된 메소드 본문
액션스크립트 3.0에서는 Array 클래스에 새로운 메소드들이 추가 되었습니다..
어떤것이 있고 어떻게 사용하는지 알아보도록 하죠..
=========================================================================
every(callback:Function, thisObject:* = null):Boolean
▷ 배열 내의 모든 요소를 검사합니다. 하나라도 조건과 맞지 않다면 false를, 모두 맞다면 true를 반환합니다.
<사용예>
var tmpArr:Array = ["test1", "test2", 3];
trace(tmpArr.every(isNumeric)); //모두 Number가 아니므로 false를 반환
function isNumeric(item:*, index:int, arr:Array):Boolean {
return (item is Number);
}
** 흔히 쓰는 방식처럼 배열의 0번 요소부터 차례대로 돌면서 false가 나오면 break를 걸더라구요..
=========================================================================
forEach(callback:Function, thisObject:* = null):void
▷ 배열을 for문으로 돌리는 것과 같습니다.
<사용예>
var tmpArr:Array = [
{Name:"홍길동", Age:35},
{Name:"김철수", Age:30},
{Name:"이영희", Age:26},
{Name:"박일용", Age:30}
];
tmpArr.forEach(traceResult);
function traceResult(item:*, index:int, arr:Array):void {
trace("Name : ", item.Name, ", Age", item.Age);
}
//trace() 값
Name : 홍길동 , Age 35
Name : 김철수 , Age 30
Name : 이영희 , Age 26
Name : 박일용 , Age 30
=========================================================================
filter(callback:Function, thisObject:* = null):Array
▷ 조건에 맞는 인자들을 걸러서 배열로 반환합니다.
<사용예>
var tmpArr:Array = [
{Name:"홍길동", Age:35},
{Name:"김철수", Age:30},
{Name:"이영희", Age:26},
{Name:"박일용", Age:30}
];
var resultArr:Array = tmpArr.filter(getSameAge);
resultArr.forEach(traceResult); //값을 찍기 위해 위에서 설명한 forEach()를 사용
function getSameAge(item:*, index:int, arr:Array):Boolean {
return (item.Age == 30);
}
function traceResult(item:*, index:int, arr:Array):void {
trace("Name : ", item.Name, ", Age", item.Age);
}
//trace() 값
Name : 김철수 , Age 30
Name : 박일용 , Age 30
=========================================================================
indexOf(searchElement:*, fromIndex:int = 0):int
▷ 배열에서 searchElement와 같은 요소의 index 값을 추출합니다. (방향: 앞 -> 뒤)
<사용예>
var tmpArr:Array = ["주몽", "오이", "마리", "협보"];
var index:int;
index = tmpArr.indexOf("마리");
trace(index); //2
tmpArr.push("주몽"); //주몽 추가
index = tmpArr.indexOf("주몽", 1); //두번째 요소부터 뒤로 주몽을 찾음
trace(index); //4
=========================================================================
lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int
▷ 배열에서 searchElement와 같은 요소의 index 값을 추출합니다. (방향: 뒤 -> 앞)
<사용예>
var tmpArr:Array = ["주몽", "오이", "마리", "협보"];
var index:int;
index = tmpArr.lastIndexOf("마리");
trace(index); //2
tmpArr.push("주몽"); //주몽 추가
index = tmpArr.lastIndexOf("주몽", 1); //두번째 요소부터 앞으로 주몽을 찾음
trace(index); //0
=========================================================================
map(callback:Function, thisObject:* = null):Array
▷ 배열을 for문으로 돌면서 코드를 적용하는 것과 같습니다.
<사용예>
var tmpArr:Array = new Array("hong", "kim", "lee");
var resultArr:Array = tmpArr.map(toUpper);
trace(resultArr); //HONG,KIM,LEE
function toUpper(item:*, index:int, arr:Array):String {
return String(item).toUpperCase();
}
=========================================================================
some(callback:Function, thisObject:* = null):Boolean
▷ 배열 내의 모든 요소를 검사합니다. 하나라도 조건과 맞다면 true를, 모두 맞지 않다면 false를 반환합니다.
<사용법>
var tmpArr:Array = new Array();
tmpArr[0] = "주몽";
tmpArr[1] = "오이";
tmpArr[3] = "협보";
var resultBoolean:Boolean = tmpArr.some(isUndefined);
trace(resultBoolean); //true
function isUndefined(item:*, index:int, arr:Array):Boolean {
return (item == undefined);
}
** every()는 모두 맞을 경우 true를 반환하지만 some()은 하나라도 맞을 경우 true를 반환합니다..
=========================================================================
이상입니다..그 밖의 메소드들은 대부분 기존에 사용하던 것들이니 잘 아실거에요..
날씨가 갑자기 추워졌습니다..감기 조심하시길^^