ActionScript3(AS3) 라이브러리 학습의 (二)--Array와 Vector 그룹 조작 파악
7464 단어 actionscript
var arr1:Array = new Array();
trace(arr1);
var arr2:Array = new Array(5);
trace(arr2);
var arr3:Array = new Array("a", 3, "b");
trace(arr3);
var arr4:Array = [];
trace(arr4);
var arr5:Array = ["a", 3, "b"];
trace(arr5);
Vector는 구조 함수 전달 길이나 그룹 내 대상을 통해 그룹을 만들 수도 있고 중괄호로 값을 부여해서 만들 수도 있습니다.글로벌 함수를 사용하여 작성할 수도 있습니다. 글로벌 함수를 사용하면 Array를 Vector로 변환하고 Array의 각 객체를 Vector에서 지정한 유형으로 변환합니다.모든 생성 방법은 데이터 형식을 지정해야 합니다.
var vec1:Vector.<int> = new Vector.<int>();
trace(vec1);
var vec2:Vector.<int> = new Vector.<int>(5);
trace(vec2);
trace(vec2.fixed);
var vec3:Vector.<int> = new Vector.<int>(5,true); // vector 5
trace(vec3.fixed);
var vec4:Vector.<int> = new <int>[0,1,2];
trace(vec4);
var vec5:Vector.<int> = Vector.<int>([0, 1, 2]);
trace(vec5);
var arr:Array = [0, 1, "string"];
var vec6:Vector.<int> = Vector.<int>(arr);
trace(vec6);
둘.찾기 작업Array와 Vector는 모두 ==(유형과 값이 모두 같다)로 찾기 함수인 indexOf, lastIndexOf를 비교할 수 있습니다.구체적인 용법은 다음과 같다. indexOf(element): 원소의 색인 값을 되돌려주고 -1을 되돌려주지 않는다.indexOf(element, index): 제 index(왼쪽에서 오른쪽으로) 개 요소부터 검색하고 요소의 인덱스 값을 되돌려줍니다. 되돌려주는 -1은 존재하지 않습니다.lastIndexOf(element): 오른쪽에서 왼쪽으로 찾으면 원소의 색인 값을 되돌려주고 -1을 되돌려주지 않습니다.stIndex Of(element, index): 오른쪽에서 왼쪽으로, 제 index(왼쪽에서 오른쪽으로) 개 요소부터 찾습니다. 요소의 색인 값을 되돌려줍니다. 되돌려주는 것은 -1이 존재하지 않습니다.셋.Array와 Vector 모두push,pop,shift,unshift 작업을 지원합니다.Vector가 고정 길이인 경우에는 요소를 삭제할 수 없습니다.push는 하나 이상의 요소를 그룹 끝에 삽입합니다.pop은 그룹 끝에서 원소shift를 꺼내서 하나 이상의 원소를 그룹 머리에 삽입합니다.시프트는 그룹 헤더에서 원소를 옮깁니다. 또한 Array와 Vector는 [] 조작부호를 통해 원소를 추가할 수 있습니다.그러나 Array는 요소를 임의의 인덱스에 추가할 수 있고, 그룹의 길이를 존재하는 가장 큰 index+1으로 바꿀 수 있으며, Vector는 연속적으로 증가할 수 있으며, 인덱스 값이 길이 범위를 초과하면 오류가 발생합니다.다음 예를 참조하십시오.
var arr:Array = [0, 1, 2];
arr[5] = 5;
trace(arr);
var vec:Vector.<int> = Vector.<int>([0, 1, 2]);
vec[3] = 3;
vec[5] = 5;//error
trace(vec);
넷.그룹의 조합과 캡처Array와 Vector는 concat, splice, slice,join 등 동작을 지원하여 새로운 그룹이나 문자열을 생성합니다.concat: 여러 요소나 그룹을 새 그룹으로 합치기 splice: 색인을 지정한 모든 요소나 개수를 삭제할 수 있는 요소 (0, 즉 삭제하지 않을 수 있음), 여러 요소를 삽입할 수 있습니다.삭제된 요소를 새 그룹으로 되돌려줍니다.이 작업은 원래 배열을 변경하므로 Vector 길이가 고정될 때 수행할 수 없습니다.slice: 그룹의 시작점 인덱스와 끝점 인덱스 (포함하지 않음) 사이의 요소를 가져오고 그룹 형식으로 되돌려줍니다.join: 그룹의 요소를 문자열로 변환하고, 요소 사이에 지정한 구분자를 삽입하고, 이 요소를 연결한 다음 결과 문자열을 되돌려줍니다.플러그인 그룹은 항상 쉼표 (,) 로 구분되며,join () 방법에 전달되는 구분자를 사용하지 않습니다.또한 Array와 Vector는 Length를 설정해서 그룹을 캡처할 수 있습니다. 예를 들어arr.Length=0;배열을 비웁니다.그러나 Vector 길이가 고정된 경우에는 이 작업을 수행할 수 없습니다.오.그룹 요소의 위치를 바꾸는 Array와 Vector는 모두 Reverse,sort,sortOn 등reverse를 지원합니다: 그룹의 순서를 반전시키고 원 그룹을 바꾸는 동시에 원 그룹을 가리키는 인용을 되돌려줍니다.
var letter1:Array = new Array("a", "b", "c");
var letter2:Array = letter1.reverse();
letter2[2] = "modified";
trace(letter1);
trace(letter2);
sort: 불안정한 정렬 알고리즘으로 원소를 정렬합니다.기본 정렬에는 다음과 같은 세 가지 방법이 있습니다. 즉, 요소 중 어떤 유형의 요소든string으로 간주하고 유니코드 값에 따라 정렬합니다.원소 형식이 사용자 정의 대상이고 tostring () 함수를 정의하면 이 함수로string으로 전환해서 비교합니다.정의된 비교 함수로 정렬하기:sort(compareFunction)는 지정한 정렬 방식으로 정렬합니다: 아래 값이나 |로 아래 값을 조합해서 정렬할 수 있습니다 1 or Array.CASEINSENSITIVE 2 or Array.DESCENDING 4 or Array.UNIQUESORT 8 or Array.RETURNINDEXEDARRAY 16 or Array.NUMERICsortOn: 요소의 하나 이상의 속성에 따라 불안정한 정렬 알고리즘을 사용합니다.이런 정렬 방법은 수조의 모든 원소가 하나 이상의 속성을 요구하고 적어도 같은 속성이 있어야 한다.그 용도는 다음과 같은 예를 볼 수 있다. arr.sortOn(someFieldName);//기본string의 유니버설 값에 따라 순서를 정하고 첫 번째 속성에 따라 순서대로 뒤에 있는 속성에 따라arr.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC);//모든 속성에 대해 수치의 내림차순으로 arr.sortOn(["a", "b", "c", [Array.DESCENDING, Array.NUMERIC, Array.CASEINSENSITIVE]);//속성 a는 알파벳 내림차순으로, 속성 b는 숫자 오름차순으로, 속성 c는 알파벳 대소문자 오름차순으로 6을 무시한다.요소를 반복하는 Array와 Vector는 다섯 가지 요소의 반복 방법을 제공합니다.forEach(callback:Function,thisObject:*=null)는 배열의 각 요소에 대한 콜백 함수를 실행합니다.리셋 함수는 값을 되돌릴 필요가 없습니다.map(callback:Function,thisObject:*=null)은 리셋 함수에 따라 원수조의 모든 요소를 조작하고 리셋 함수로 결과를 되돌려 새 수조를 생성합니다.filter(callback:Function,thisObject:*=null): 리셋 함수를true로 되돌려 주는 모든 요소를 추출하여 새 그룹을 구성합니다.some(callback:Function,thisObject:*=null) 리셋 함수를true로 되돌려주는 요소가 있다면 some는true로 되돌려줍니다.every(callback:Function,thisObject:*=null) 모든 요소가 리셋 함수를true로 되돌려줘야 every가true로 되돌려줍니다.이런 반복 방법은 우리에게 매우 편리하게 한 조의 데이터를 처리하는 방법을 제공했다.다음은 아래의 용례를 가상하여 실현하자. 일련의 대상에 대해 그 중의 사람을 찾아내고 모든 사람에게 월급을 돌려주며 모든 사람이 20세 이상이고 남성인지, 남성이 존재하는지 판단한다.
public class People
{
public var name:String;
public var sex:String;
public var age:int;
public var salary:int;
public function People(n:String,sx:String,a:int,sa:int)
{
name = n;
sex = sx;
age = a;
salary = sa;
}
public function toString():String
{
return "name:" + name + ",sex:" + sex + ",age:" + age + ",salary:" + salary;
}
}
public function IsPeople(item:*,index:int,arr:Array):Boolean
{
if (item is People) {
return true;
}
else {
return false;
}
}
public function Out(item:*,index:int,arr:Array):void
{
trace(item.toString());
}
public function GetSalary(item:People, index:int, arr:Array):int
{
return item.salary;
}
public function Oldthan20(item:People, index:int, arr:Array):Boolean
{
return item.age > 20;
}
public function IsMale(item:People, index:int, arr:Array):Boolean
{
return item.sex == "male";
}
var arr:Array = new Array(1, new People("jack", "male", 28, 5000),
"a", new People("rose", "female", 24, 7000), new Object(),
new People("ring", "female", 30, 2000), new People("sam", "male", 35, 10000));
var peoples:Array = arr.filter(IsPeople);//
peoples.forEach(Out);
var salarys:Array = peoples.map(GetSalary);//
salarys.forEach(Out);
trace(peoples.every(Oldthan20));// 20
trace(peoples.some(IsMale));//
trace(peoples.every(IsMale));//
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ActionScript3(AS3) 라이브러리 학습의 (二)--Array와 Vector 그룹 조작 파악넷.그룹의 조합과 캡처Array와 Vector는 concat, splice, slice,join 등 동작을 지원하여 새로운 그룹이나 문자열을 생성합니다.concat: 여러 요소나 그룹을 새 그룹으로 합치기 splic...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.