자바스크립트 자료구조에 대해 알아보려합니다.
배열(Array)
순서가 있는 목록을 표현하는 자료구조로, 원소에 대한 인덱스를 통해 접근할 수 있습니다. 자바스크립트에서 배열은 Array 객체를 사용하여 생성하며, 대괄호([])로 감싸진 목록을 사용할 수 있습니다.
const arr = [1, 2, 3, 4, 5];
객체(Object)
키(key)와 값(value)의 쌍을 저장하는 자료구조로, 자바스크립트 객체는 일반적으로 해시테이블로 구현되어 있습니다. 중괄호({})로 감싸진 아이템들은 키-값 쌍으로 구분됩니다.
const obj = {
key1: 'value1',
key2: 'value2',
};
해쉬 테이블
해시 테이블(Hash Table)은 키(key)를 값(value)에 매핑할 수 있는 데이터 구조입니다.
이 구조는 해시 함수를 사용하여 키를 정수로 변환한 다음, 이 정수를 값의 인덱스로 사용합니다.
이러한 방식을 사용하면 원하는 값을 빠르게 검색할 수 있어 시간 복잡도가 매우 낮아집니다.
집합(Set)
중복을 허용하지 않는 고유한 값의 집합을 표현하는 자료구조입니다. 자바스크립트에서는 ES6 이후 Set 객체를 사용하여 집합을 생성할 수 있습니다.
const set = new Set([1, 2, 3, 4, 5]);
맵(Map)
키-값 쌍을 저장하는 자료구조로, 객체와 비슷하지만 키에 다양한 자료형을 사용할 수 있다는 차이점이 있습니다. ES6 이후 Map 객체를 사용하여 맵을 생성할 수 있습니다.
const map = new Map();
map.set('key1', 'value1');
map.set('key2', 'value2');
스택(Stack)
LIFO(Last-In-First-Out) 규칙으로 초기화된 요소를 삽입하거나 삭제하는 자료구조입니다. 자바스크립트에서 배열을 사용하여 스택을 구현할 수 있습니다.
const stack = [];
stack.push(1);
stack.push(2);
stack.pop();
큐(Queue)
FIFO(First-In-First-Out) 규칙을 따르며 요소를 삽입하거나 삭제하는 자료구조입니다. 자바스크립트에서 배열을 사용하여 큐를 구현할 수 있습니다.
const queue = [];
queue.push(1);
queue.push(2);
queue.shift();
'프론트엔드 > JavaScript' 카테고리의 다른 글
Call by value 와 Call by reference (0) | 2023.06.22 |
---|---|
웹브라우저의 동작원리 (0) | 2023.06.20 |
TTS 자바스크립트로 구현하기 (0) | 2023.06.13 |
구글 스프레드시트 API 조회하기 | Node.js (0) | 2023.05.15 |
자바스크립트 이진수 자릿수만큼 0 채우기 (0) | 2023.04.28 |