1. 배열
- 배열은 여러 개의 값을 순차적으로 나열한 자료구조이다.
배열이 가지고 있는 값을 요소라 부르며 자바스크립트의 모든 값은 배열의 요소가 될 수 있다.
- 배열의 요소 접근
- 배열의 요소는 자신의 위치를 나타내는 인덱스를 가지며 배열의 요소에 접근할 때 사용된다.
- 요소에 접근 시에는 대괄호 표기법을 사용한다.
- length 프로퍼티, for문
- 배열은 요소의 개수, 즉 배열의 길이를 나타내는 length 프로퍼티를 갖는다.
- 배열은 인덱스와 length 프로퍼티를 갖기 때문에 for문을 통해 순차적으로 요소에 접근할 수 있다.
- 자바스크립트의 모든 값이 객체의 프로퍼티 값이 될 수 있으므로 모든 값이 배열의 요소가 될 수 있다.
- 자바스크립트의 배열은 인덱스로 배열 요소에 접근하는 경우에는 일반적인 배열보다 느리지만 요소를 삽입, 삭제하는 경우에는 일반적인 배열보다 빠르다.
2. 배열 메소드
2-1. 기본 배열 메소드
- indexOf : 배열에서 요소가 위치한 인덱스를 리턴
- lastIndexOf : 배열의 요소가 위치한 마지막 인덱스를 리턴
- includes : 배열에 해당 요소 포함 여부 리턴
- push : 배열의 맨 뒤에 요소 추가
- pop : 배열의 맨 뒤에 요소 제거
- unshift : 배열의 맨 앞에 요소 추가
- shift : 배열의 맨 앞 요소 제거 후 반환
- concat : 두 개 이상의 배열을 결합
- slice : 배열의 요소 선택 잘라내기
- splice : 배열의 index 위치의 요소 제거 및 추가
- join : 배열을 구분자로 결합하여 문자열로 반환
- reverse: : 배열의 순서를 뒤집음
2-2. 배열 고차 함수
- 고차 함수 : 함수를 인수로 전달 받거나 함수를 반환하는 함수
- Array.prototype.sort
- 배열을 정렬 기준으로 정렬한다.
- 오름차순 정렬이 기본이며 정렬 후 정렬 순서를 유지한다.
- 배열은 기본적으로 문자열 정렬이 되므로 일부 올바르지 않게 정렬 되는 모습을 확인할 수 있다.
- 다른 정렬 기준을 사용하려면 매개변수로 compare 함수 전달해야 한다.
- Array.prototype.forEach
- Array.prototype.filter
- 배열 요소 전체를 대상으로 콜백 함수 호출 후 반환 값이 true인 요소로만 구성 된 새로운 배열 반환한다.