✅ 배열의 기본 사용
let fruits = ['apple', 'banana', 'cherry'];
console.log(fruits[0]); // 'apple'

✅ 배열의 길이 확인
var arr = [1, 2, 3, 4, 5];
alert(arr.length);
// 결과: 5
✅ 배열의 조작
① 추가
| 메서드 | 역할 | 원본 변경 | 사용 위치 | 사용 예시 |
|---|---|---|---|---|
splice() | 중간이나 원하는 위치에 삽입 | ✅ 변경됨 | 어디든 삽입 가능 | arr.splice(1, 0, 'x') |
push() | 끝에 삽입 | ✅ 변경됨 | 맨 끝 | arr.push('x') |
unshift() | 앞에 삽입 | ✅ 변경됨 | 맨 앞 | arr.unshift('x') |
concat() | 배열을 합쳐 새 배열 반환 | ❌ 변경 안 됨 | 맨 끝에 덧붙임 | newArr = arr.concat(['x', 'y']) |
fruits.push('grape'); // ['apple', 'banana', 'cherry', 'grape']
fruits.unshift('lemon'); // ['lemon', 'apple', 'banana', 'cherry', 'grape']
② 제거
| 메서드 | 설명 | 예시 |
|---|---|---|
pop() | 마지막 요소 제거 | fruits.pop() |
shift() | 첫 번째 요소 제거 | fruits.shift() |
splice() | 특정 위치에서 제거 | fruits.splice(1, 2) |
fruits.pop(); // 마지막 요소 제거
fruits.splice(1, 1); // 인덱스 1에서 1개 제거splice( ) 예제 👉 원하는 위치에 삽입 (원본 변경)
let arr = ['a', 'b', 'c'];
arr.splice(1, 0, 'x');
// 결과: ['a', 'x', 'b', 'c']
concat( ) 예제 👉 배열 합치기 (원본 유지, 새 배열 반환)
let arr = ['a', 'b', 'c'];
let result = arr.concat(['x', 'y']);
// arr: ['a', 'b', 'c'] (그대로)
// result: ['a', 'b', 'c', 'x', 'y']
③ 정렬 및 뒤집기
| 메서드 | 설명 | 예시 |
|---|---|---|
sort() | 오름차순 정렬 (문자 기준) | fruits.sort() |
reverse() | 배열 뒤집기 | fruits.reverse() |
예제
let numbers = [5, 3, 9, 1];
numbers.sort(); // [1, 3, 5, 9] ← 문자열처럼 정렬됨
numbers.reverse(); // [9, 5, 3, 1]
➡️ splice( ) 제거와 추가
| 구분 | 설명 | 문법 예시 | 결과 |
|---|---|---|---|
| 제거 | 특정 위치에서 요소를 제거 | arr.splice(1, 2) | 인덱스 1부터 2개 제거 |
| 추가 | 특정 위치에 요소를 삽입 | arr.splice(2, 0, 'X') | 인덱스 2에 'X' 삽입 (제거 없음) |
| 교체 | 제거 + 추가 | arr.splice(1, 1, 'Y') | 인덱스 1의 요소를 'Y'로 교체 |
➡️ splice( ) vs concat( ) 비교
| 항목 | splice() | concat() |
|---|---|---|
| 원본 배열 변경 | ✅ 변경됨 | ❌ 변경되지 않음 (새 배열 생성) |
| 삽입 위치 | 아무 위치 가능 | 항상 배열 끝에 붙임 |
| 반환값 | 제거된 요소들 | 새 배열 |
| 주요 용도 | 요소 삽입 / 제거 / 교체 | 배열 합치기 |