-
Array Property List (prototype)JavaScript 2020. 10. 13. 19:42
Array Prototype
1. constructor()
생성자 함수의 프로퍼티로 constructor이라는 Key로 생성자 함수에 접근할 수 있다.
constructor 생성자 함수를 Call 하였더니 testList 변수의 Type 이 object로 변한 것을 볼 수 있다. 이는 Array 객체의 인스턴스라는 것을 나타낸다.
2. unshift()
배열의 첫 번째 Index에 요소를 삽입한다.
위와 같이 unshift 매소드의 매개변수로 넘겨준 자료가 배열의 0번째 요소로 추가되는 것을 확인할 수 있다.
3. concat()
매개변수로 입력된 자료를 합쳐주는 매소드로 String 객체의 concat 매소드와는 다르게 매게 변수로 입력된 자료를 합친 새로운 배열을 반환한다.
위와 같이 매개변수로 4,5 를 넘겨주었더니 기존의 요소에 4,5 가 추가된 새로운 배열을 반환한 것을 볼 수 있다.
4.slice()
Array.prototype.slice ( 시작 요소 번호, 끝 요소 번호 ) 형태의 매개변수를 받으며 시작 요소 Index부터 끝 요소의 Index 전까지 복사한 배열을 반환한다.
nList의 [1] 요소부터 [4] 요소 전 까지의 내용을 복사한 배열을 반환한 것을 볼 수 있다.
5. splice()
Array.prototype.splice (삭제 시작 요소번호, 삭제할 요소의 개수, 대체할 요소)의 매개변수를 가지며 배열의 특정 위치의 값을 지우거나, 지우고 새로 추가할 때 사용할 수 있다.
6.sort()
JS의 정렬 매소드인 sort는 아스키코드 값을 기준으로 정렬을 시도하기 때문에 다음과 같은 문제가 발생할 수 있다.
오름차순으로 정렬을 시도하였지만 아스키코드값의 순서로 인해 1이 붙은 1000 이 가장 앞에 위치하도록 정렬된 것을 확인할 수 있다. 이와 같은 문제를 해결하기 위해 sort 매소드는 마지막 매개변수로 Callback 함수를 받고 있으며 이는 sort 매소드가 실행될 때마다 항상 실행하는 함수를 의미한다.
이때 콜백 함수에 반환값이 +(양수) 라면 선택한 요소의 자리 이동이 일어나게 된다. 아래 예시를 통해 확인해본다.
위와 같이 sort 매소드에 콜백 함수를 넘겨줌으로써 추가적인 정렬을 실행할 수 있다.
+ 추가 매소드
1. split()
split 매소드는 String 객체의 매소드로 (String.prototype.split()) 매개변수로 입력받은 문자(열)를 기준으로 전 요소들을 따로 분리하여 반환한다. 이때 반환되는 형태는 배열 (Array) 형태이다.
위처럼 promt라는 host Object(브라우저)에서 제공하는 매소드를 사용하여 사용자에서 "10 20 30"이라는 문자열을 입력받고 해당 문자열을 " " (공백)을 기준으로 따로 분리하여 반환 한 모습이다. 문자열 "10", "20", "30"이라는 요소를 가지고 있는 배열이 반환된 다.
2. parseInt()
JS에서 제공하는 내장 전역 함수(객체의 실체가 없는 Global 객체를 의미함)로 매개변수로 입력받은 문자열을 숫자 형태로 반환한다. 추가적으로 마지막 매개변수에는 몇 진수로 변환할지 넘겨주면 된다.
'JavaScript' 카테고리의 다른 글
Array 객체 join(), includes() 매소드 활용 (0) 2020.10.15 Array 객체 매소드 정리 (ES5) (0) 2020.10.14 Global 오브젝트와 Window 오브젝트 (0) 2020.10.10 빌트 인 Function 객체 (0) 2020.10.09 Built-in Object (Object 자료형) (0) 2020.10.08