자바스크립트에서 배열(Array)은 여러 개의 값을 순차적으로 저장하는 자료구조이다. 배열은 대괄호 []를 사용하여 생성하며, 각 값은 쉼표(,)로 구분된다.
// 빈 배열 생성
const numbers = [];
// 배열에 값 추가
numbers.push(10);
numbers.push(20);
numbers.push(30);
// 배열의 값 접근
console.log(numbers[0]); // 출력: 10
console.log(numbers[1]); // 출력: 20
console.log(numbers[2]); // 출력: 30
// 배열의 값 변경
numbers[1] = 50;
console.log(numbers); // 출력: [10, 50, 30]
// 배열의 길이
console.log(numbers.length); // 출력: 3
// 배열 순회(iteration)
for (let i = 0; i < numbers.length; i++) {
console.log(numbers[i]);
}
// 배열 메소드 활용
numbers.pop(); // 배열의 마지막 요소 제거
console.log(numbers); // 출력: [10, 50]
numbers.reverse(); // 배열 요소 순서 뒤집기
console.log(numbers); // 출력: [50, 10]
배열은 동일한 데이터 유형의 값을 저장하는데 사용되며, 값의 인덱스는 0부터 시작한다. 배열의 각 요소는 0부터 시작하는 인덱스를 사용하여 접근할 수 있다. 배열의 길이는 length 속성을 통해 알 수 있으며, push() 메소드를 사용하여 배열의 끝에 값이 추가된다.
배열은 다양한 메소드를 가지고 있어 배열을 조작하고 데이터를 검색, 정렬, 변환하는 등의 작업을 수행할 수 있다.
forEach() 메소드는 배열의 각 요소에 대해 주어진 함수를 실행하며, 요소의 인덱스와 값을 인자로 받는다. forEach() 메소드는 원본 배열을 변경하지 않고 단순히 각 요소에 대한 작업을 수행한다.
numbers.forEach(function(element) {
console.log(element);
});
배열의 인덱스 정보를 가져오기 위해선 아래와 같이 사용하면 된다.
numbers.forEach(function(element, index) {
console.log(index, element);
});
화살표 함수를 사용할 때는
numbers.forEach((element, index) => {
console.log(index, element);
});
map() 메소드는 배열의 각 요소에 대해 주어진 함수를 실행하고, 각 함수 호출의 결과를 새로운 배열로 반환한다. 따라서 map() 메소드를 사용하면 원본 배열을 변경하지 않고 새로운 배열을 생성할 수 있다.
const newNumbers1 = numbers.map(function(element) {
return element * 2;
});
console.log(newNumbers1); // 출력: [100, 20] 위 코드에서 reverse() 메소드가 적용이 되었다.
화살표 함수를 사용하면 더 간결하게 출력할 수 있다.
const newNumbers2 = numbers.map(element => element * 2);
console.log(newNumbers2); // 출력: [100, 20] 위 코드에서 reverse() 메소드가 적용이 되었다.