13-2. Array 오브젝트(ES3 기준) / 프로퍼티 리스트
ES3 프로퍼티 리스트
- new Array() : 인스턴스 생성
- Array() : 인스턴스 생성
new 연산자를 사용하냐 안하냐 차이일 뿐입니다.
Array 프로퍼티
- length : 배열의 엘리먼트 수 반환
Array.prototype
- constructor : 생성자
- unshift() : 배열 처음에 엘리먼트 삽입
- push() : 배열 끝에 엘리먼트 첨부
- concat() : 배열 끝에 값을 연결
- slice() : 인덱스 범위의 엘리먼트를 복사
- join() : 엘리먼트와 분리자를 결합하여 반환
- toString() : 엘리먼트를 문자열로 연결하여 반환
- toLocaleString() : 엘리먼트를 지역화 문자로 변환하고 문자열로 연결하여 반환
- shift() : 첫번째 엘리먼트를 삭제하고 삭제한 엘리먼트 반환
- pop() : 마지막 엘리먼트를 삭제하고 삭제한 엘리먼트 반환
- splice() : 엘리먼트를 삭제하고 새로운 엘리먼트를 삽입, 삭제한 엘리먼트 반환
- sort() : 엘리먼트 값을 Unicode 순서로 분류하여 반환
- reverse() : 엘리먼트 위치를 역순으로 바꾸어 반환
concat / slice / join : string에서도 많이 쓰이는 것들입니다.
[11, 22, 33].join("##"); // 11##22##33
// ##이 분리자입니다.
// 분리자를 사용 안할수도 있습니다.
Array.prototype <- 인스턴스 생성할 때 인스턴스의 __proto__
에 메소드로 설정되는 것입니다.
splice()
splice()는 두 가지 기능을 가지고 있습니다.
엘리먼트를 삭제하고 새로운 엘리먼트를 삽입합니다.
그리고 삭제한 엘리먼트를 반환합니다.
sort()
엘리먼트 값을 Unicode 순서로 분류하여 반환합니다.
예를 들면, 1234 같은 경우는 숫자 값이 있으니까 값으로 sort를 하면 되지만, 영어의 abc나 한글의 가나다 같은 경우엔 sort를 할 수 없습니다.
그때 Unicode의 코드 포인트 값으로 sort를 하는 것입니다.
그러면 Unicode 사전에 등록한 순서대로 sort가 됩니다.
그래서 가나다 순서로 sort를 할 수 있습니다.
하지만 가나다 순서만을 제공합니다. 그래서 역순으로 하려면, 즉 가나다를 다나가 형태로 역순으로 할 경우엔 콜백함수로 호출하는데요, 거기에다가 작성을 해서 역순으로 해주는..
개발자가 그것은 작성을 해줘야합니다.
기본 순서는 자바스크립트에서 제공을 하지만 역순은 개발자가 코드를 작성해서 역순을 해줘야됩니다.
물론 알고리즘이 있습니다만,.. 그렇게 어렵지 않습니다.
알고리즘에 대해선 뒤에서 sort() 메소드를 다룰때 설명드리겠습니다.
reverse()
값이 아니라 위치를 역순으로 바꿉니다.
즉 현재 abc가 있으면 a가 0번 인덱스, c가 2번 인덱스죠?
그럼 c가 맨 앞으로 0번 인덱스로 오는겁니다.
순서를 거꾸로 바꾸는 겁니다.