학습
JavaScript 배열 기초
JavaScript 배열 기초 — 초급
배열 기초
1. 도입 (왜 배워야 하는가)
JavaScript에서 배열은 데이터 구조 중 하나로, 여러 값을 하나의 변수에 저장할 수 있는 매우 중요한 도구입니다. 실무에서는 사용자 데이터, 상품 목록, 게시글 등 다양한 정보를 효율적으로 관리하기 위해 배열을 사용합니다. 만약 배열을 잘 다루지 못한다면, 데이터를 조작하고 관리하는 것이 비효율적으로 되어 코드가 복잡해지고, 버그가 발생할 위험이 커집니다. 예를 들어, 쇼핑몰 웹사이트에서 고객의 장바구니를 관리할 때 배열을 활용하지 않으면 사용자가 선택한 제품을 효율적으로 저장하고 처리하기 어려워집니다.
2. 핵심 개념 설명
배열은 여러 개의 값을 순서대로 저장할 수 있는 객체입니다. 각 값은 인덱스(index)라는 고유한 번호로 접근할 수 있습니다.
실생활 비유
배열을 생각할 때는 서랍에 여러 물건을 정리하는 것을 비유할 수 있습니다. 서랍 안에 여러 물건(예: 연필, 종이, 지우개 등)을 넣을 때, 각각의 물건에 번호를 매겨두면 필요할 때 쉽게 꺼낼 수 있습니다. 배열은 이러한 방식으로 데이터를 정리하고 쉽게 접근할 수 있도록 도와줍니다.
관련 용어 정리
| 용어 | 설명 |
|---|---|
| 배열 | 여러 값을 순서대로 저장할 수 있는 데이터 구조 |
| 인덱스 | 배열에서 각 값의 위치를 나타내는 번호 |
| 요소 | 배열에 저장된 각각의 값 |
3. 기본 코드 예제
// 배열 생성
let fruits = ['사과', '바나나', '체리'];
// 배열의 첫 번째 요소에 접근
console.log(fruits[0]); // '사과'
// 배열의 두 번째 요소에 접근
console.log(fruits[1]); // '바나나'
// 배열의 길이 확인
console.log(fruits.length); // 3
- 실행 결과:
사과
바나나
3
1. let fruits = ['사과', '바나나', '체리']; : '사과', '바나나', '체리'라는 세 개의 문자열을 포함하는 배열을 생성합니다.
2. console.log(fruits[0]); : 배열의 첫 번째 요소에 접근하여 '사과'를 출력합니다.
3. console.log(fruits[1]); : 배열의 두 번째 요소에 접근하여 '바나나'를 출력합니다.
4. console.log(fruits.length); : 배열의 길이를 확인하여 3을 출력합니다.
4. 실전 활용 예제
예제 1: 쇼핑몰 장바구니 구현
쇼핑몰에서 사용자가 선택한 상품들을 배열로 저장하여 관리할 수 있습니다.
// 장바구니 배열
let cart = [];
// 상품 추가 함수
function addToCart(product) {
cart.push(product);
}
// 상품 추가
addToCart('티셔츠');
addToCart('바지');
console.log(cart); // ['티셔츠', '바지']
addToCart 함수를 통해 배열에 추가하여 장바구니를 관리합니다.예제 2: 점수 계산
학생의 점수를 배열로 저장하고 평균 점수를 계산할 수 있습니다.
let scores = [90, 85, 78];
// 평균 점수 계산
let total = 0;
for (let score of scores) {
total += score;
}
let average = total / scores.length;
console.log(average); // 84.33333333333333
5. 흔한 실수와 주의사항
실수 1: 인덱스 초과
let colors = ['빨강', '파랑'];
console.log(colors[2]); // undefined
let colors = ['빨강', '파랑'];
console.log(colors[1]); // '파랑'
undefined를 반환합니다.실수 2: 배열 길이 변경
let numbers = [1, 2, 3];
numbers.length = 2;
console.log(numbers); // [1, 2]
let numbers = [1, 2, 3];
numbers.pop(); // 마지막 요소 제거
console.log(numbers); // [1, 2]
6. 정리
map, filter, reduce)와 객체(Object)입니다.