- Array 객체
1) Array 객체의 생성
Array 객체는 여러 가지 자료를 쉽게 관리할 수 있도록 도와주는 객체이다.
Array 객체의 생성자 함수는 눈 여겨 볼 필요가 있다. 다음은 Array 생성자 함수를 정리한 표이다.
생성자 함수 |
설명 |
Array() |
빈 배열을 만든다. |
Array(number) |
number만큼의 크기를 가지는 배열을 만든다. |
Array(arg1, arg2...) |
매개변수를 배열로 만든다. |
매개 변수가 없는 생성자 함수의 경우 빈 배열을 만드는 것이 쉽게 이해가 된다.
하지만 두 번째 매개 변수가 하나인 Array 생성자 함수는 자칫 배열 요소가 하나인 배열 객체가 만들어진다고 오해할 여지가 있다.
다음은 Array 생성자 함수로 Array 객체를 만드는 예제이다.
2) Array 객체의 속성
배열은 먼저 몇 개의 요소를 가지고 있는 지 나타내는 length 속성뿐 아니라 다른 많은 속성들이 존재한다.
다음은 Array 객체의 속성을 정리한 표이다. 앞 게시물에서 살펴 본 String 객체와 달리 Array 객체의 메서드는 자기 자신을 직접
바꾸는 경우가 존재한다. pop(), sort() splice() 등의 메서드가 그렇다.
속성 이름 |
설명 |
length |
배열 요소의 개수 |
concat( ) |
매개 변수로 입력한 배열 요소를 모두 합친 배열을 리턴 |
join( ) |
배열 안 모든 요소를 합친 문자열 리턴 |
slice( ) |
배열 요소의 지정한 부분을 리턴 |
pop( ) |
배열의 마지막 요소를 제거하고 리턴 |
sort( ) |
배열의 요소를 정렬 |
splice( ) |
배열 요소의 지정한 부분을 삭제하고, 삭제한 요소를 리턴 |
3) Array의 정렬
sort() 함수는 Array 객체의 요소들을 정렬하는 데 사용한다.
매개 변수가 없는 sort 함수는 요소의 코드 값에 기반하여 오름차순으로 정렬한다.
따라서 var array = [100, 20, 304, 140, 5];와 같은 배열의 sort()한 결과는 100, 140, 20, 304, 5가 된다.
이는 개발자가 의도하지 않는 정렬 결과일 가능성이 농후하다.
이를 해결하기 위해 비교 함수(compareFunction)을 sort 함수의 매개 변수로 넘겨 줄 수 있다.
sort 함수는 내부적으로 두 값을 비교할 때 넘겨준 비교 함수를 사용하게 된다.
오름차순 정렬 |
내림차순 정렬 |
function (left, right) { } |
function (left, right) { return right - left; } |
다음은 sort 함수과 비교 함수를 사용한 예제이다.
'JavaScript' 카테고리의 다른 글
자바스크립트 (JavaScript) - 40 : Date 객체 (0) | 2016.07.20 |
---|---|
자바스크립트 (JavaScript) - 39 : Array sort, slice 메서드와 메서드 체이닝 (0) | 2016.07.20 |
자바스크립트 (JavaScript) - 37 : String 객체 (0) | 2016.07.20 |
자바스크립트 (JavaScript) - 36 : Number 객체 (0) | 2016.07.20 |
자바스크립트 (JavaScript) - 35 : 기본 자료형의 객체화, 프로토타입 (0) | 2016.07.20 |