배열 요소에 어떤 자료형이든 대입 가능하며 길이 제한이 없음
(Java 컬렉션의 List 인터페이스와 비슷한 형태)
배열 선언 방법
1) 생성자 사용 : const arr = new Array();
2) 리터럴 형식 : const arr = [];
← 성능 우위!
배열 초기화 방법
1) 접근자 사용 : arr[i] = 100;
← 성능 우위!
2) 메서드 사용 : arr.push(100);
함수 | 설명 |
---|---|
push("abc") | 배열의 마지막 요소 추가 |
pop() | 배열의 마지막 요소 삭제 |
unshift() | 배열의 첫 번째 요소 추가 |
shift() | 배열의 첫 번째 요소 삭제 |
toString() | 배열 내 요소를 하나의 문자열로 반환 |
indexOf() | 특정 값과 일치하는 시작 인덱스 반환 -1 : 일치하는 값이 존재하지 않음 |
includes() | 특정 값을 포함하면 true, 포함하지 않으면 false 반환 |
join(",") | 배열 내 요소를 구분자를 기준으로 하나의 문자열로 반환 |
sort([function(){}]) | 배열 내 요소를 오름차순 또는 지정된 함수에 따른 순서로 정렬 |
reverse() | 배열 내 요소의 순서를 반대로 정렬 |
slice(x, y) | x 인덱스부터 y-1 인덱스까지의 배열 복사본 반환 |
splice(x, y[, "abc"]) | 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 변경 - x : 변경을 시작할 요소 인덱스 - y : 제거할 요소 수 (생략할 경우 모든 요소 제거) - "abc" : 추가할 요소 |
map(callback) | callback 함수를 실행한 결과 값으로 새로운 배열 생성 |
reduce(callback[, 초기값]) | 배열 내 요소들을 순회하며 반복 연산한 누적 결과 값 반환 |
Array.from({}) | 객체를 복사하여 새로운 배열 생성 |
중복되지 않는 유일한 값을 가지는 객체
교집합, 합집합, 차집합, 여집합 등을 구현할 수 있음
// 중복 값을 가지는 배열을 전달하여 Set 객체 생성
const arr1 = [1, 1, 2, 2, 3, 3];
const set = new Set(arr1); // {1, 2, 3}
// set 객체를 배열 형태로 변환
const arr2 = [...set]; // 1) 객체를 나열하여 배열에 추가
const arr2 = Array.from(set); // 2) 객체를 복사하여 배열 생성