반응형

배열(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

 

Introduction to Arrays - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

잘못된 부분이 있으면 지적은 언제나 환영입니다.

반응형

'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
얼은펭귄