반응형
배열(Array)이란?
- 배열은 여러 개의 값을 순차적으로 나열한 자료구조중 하나이며 인접한 메모리 위치에 저장된 항목 모음이다.
- 배열은 같은 유형의 여러 항목을 함께 저장하는데 쓰인다.
배열의 구조
기본적으로 배열은 아래 그림의 구조를 가지고 있다.
연속적인 메모리 공간에 순차적으로 데이터를 저장하며 index로 접근할 수 있다.
JS 배열의 특징
- JS에서 배열의 첫번째 요소는 index 0부터 시작한다.
- 배열 요소의 길이가 고정되어 있지 않다. 따라서 배열 요소를 추가하거나 제거가 가능하다.
- 배열 요소의 타입이 고정되어 있지 않다. 따라서 같은 배열에서 타입이 서로 다를 수 있다. (array)
- 배열 요소의 인덱스가 연속적이지 않아도 된다. 따라서 특정 배열 요소가 비어 있을 수 있다. (emptyArray)
- JS에서 배열은 Array 객체로 다뤄진다.
const numberArray = [1,2,3,4,5];
console.log('numberArray');
console.log(numberArray[0]); // 1
console.log(numberArray[1]); // 2
console.log(numberArray[2]); // 3
console.log(numberArray[3]); // 4
console.log(numberArray[4]); // 5
const stringArray = ['a','b','c','d','e'];
console.log('stringArray');
console.log(stringArray[0]); // 'a'
console.log(stringArray[1]); // 'b'
console.log(stringArray[2]); // 'c'
console.log(stringArray[3]); // 'd'
console.log(stringArray[4]); // 'e'
const complicatedArray = [1, 'b', 'c', 3, 0.5452];
console.log('complicatedArray');
console.log(complicatedArray[0]); // 1
console.log(complicatedArray[1]); // 'b'
console.log(complicatedArray[2]); // 'c'
console.log(complicatedArray[3]); // 3
console.log(complicatedArray[4]); // 0.5452
const emptyArray = ['a',,,'d','e']
console.log('emptyArray');
console.log(emptyArray[0]); // 'a'
console.log(emptyArray[1]); // undefined
console.log(emptyArray[2]); // undefined
console.log(emptyArray[3]); // 'd'
console.log(emptyArray[4]); // 'e'
자주 사용하는 연산
// 배열 생성
const fruits = ['사과', '바나나']
console.log(fruits.length) // 2
// 인덱스로 배열의 항목에 접근
console.log(fruits[0]); // 사과
console.log(fruits[fruits.length - 1]); // 바나나
// 배열 끝에 항목 추가
fruits.push('오렌지')
console.log(fruits); // ["사과", "바나나", "오렌지"]
// 배열 마지막 항목 제거
fruits.pop()
console.log(fruits); // 끝에있던 '오렌지'를 제거 // ["사과", "바나나"]
// 배열 맨앞 항목 제거
fruits.shift()
console.log(fruits); // ["바나나"]
// 배열 안 항목의 인덱스 찾기
fruits.push('망고')
console.log(fruits); // ["바나나", "망고"]
console.log(fruits.indexOf("바나나")); // 0
// 배열 복사
const copyFruits = [...fruits];
console.log(copyFruits); // ["바나나", "망고"]
출처: https://www.geeksforgeeks.org/introduction-to-arrays/?ref=lbp
잘못된 부분이 있으면 지적은 언제나 환영입니다.
반응형
'DataStructure' 카테고리의 다른 글
Graph (0) | 2022.04.23 |
---|---|
Tree (0) | 2022.04.19 |
Queue (0) | 2022.04.11 |
Stack (0) | 2022.04.10 |
Linked List (0) | 2022.04.07 |