코딩 스쿨 JavaScript

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP
▶ JavaScript Tutorial
JavaScript HOME
JavaScript Introduction
JavaScript Where To
JavaScript Output
JavaScript Statements
JavaScript Syntax
JavaScript Comments
JavaScript Variables
JavaScript Let
JavaScript Const
JavaScript Operators
JavaScript Arithmetic
JavaScript Assignment
JavaScript Data Types
JavaScript Functions
JavaScript Objects
JavaScript Object Properties
JavaScript Object Methods
JavaScript Object Display
JavaScript Object Constructors
JavaScript Events
JavaScript Strings
JavaScript String Methods
JavaScript String Search
JavaScript String Templates
JavaScript Numbers
JavaScript BigInt
JavaScript Number Methods
JavaScript Number Properties
JavaScript Arrays
JavaScript Array Methods
JavaScript Array Search
JavaScript Array Sort
JavaScript Array Iteration
JavaScript Array Const
JavaScript Dates
JavaScript Date Formats
JavaScript Date Get Methods
JavaScript Date Set Methods
JavaScript Math
JavaScript Random
JavaScript Booleans
JavaScript Comparisons
JavaScript If Else
JavaScript Switch
JavaScript Loop For
JavaScript Loop For In
JavaScript Loop For Of
JavaScript Loop While
JavaScript Break
JavaScript Iterables
JavaScript Sets
JavaScript Set Methods
JavaScript Maps
JavaScript Map Methods
JavaScript Typeof
JavaScript Type Conversion
JavaScript Destructuring
JavaScript Bitwise
JavaScript RegExp
JavaScript Precedence
JavaScript Errors
JavaScript Scope
JavaScript Hoisting
JavaScript Strict Mode
JavaScript this Keyword
JavaScript Arrow Function
JavaScript Classes
JavaScript Modules
JavaScript JavaScriptON
JavaScript Debugging
JavaScript Style Guide
JavaScript Best Practices
JavaScript Mistakes
JavaScript Performance
JavaScript Reserved Words

JavaScript Arrays

JavaScript Arrays: 배열의 이해와 활용

JavaScript에서 **배열(Array)**은 여러 값을 순서대로 저장할 수 있는 데이터 구조입니다. 배열은 동일한 타입 또는 서로 다른 타입의 데이터를 포함할 수 있으며, 동적 크기를 지원하여 데이터의 추가 및 삭제가 용이합니다. 이 가이드는 JavaScript 배열의 개념, 메서드 및 활용 방법을 자세히 설명합니다.


1. 배열의 기본 개념

1.1. 배열 정의

배열은 대괄호([])를 사용하여 정의되며, 각 요소는 쉼표로 구분됩니다.

const fruits = ["apple", "banana", "cherry"];

1.2. 배열의 특징

  • 순서: 배열의 요소는 인덱스를 통해 접근할 수 있으며, 인덱스는 0부터 시작합니다.
  • 동적 크기: 배열의 크기는 고정되지 않으며, 필요에 따라 요소를 추가하거나 제거할 수 있습니다.
  • 다양한 데이터 타입: 배열은 숫자, 문자열, 객체, 다른 배열 등 다양한 데이터 타입을 포함할 수 있습니다.

2. 배열 생성

2.1. 배열 리터럴

배열은 대괄호를 사용하여 직접 정의할 수 있습니다.

const numbers = [1, 2, 3, 4, 5];

2.2. Array 생성자

Array 생성자를 사용하여 배열을 생성할 수도 있습니다.

const emptyArray = new Array(); // 빈 배열
const numbersArray = new Array(5); // 길이가 5인 배열 (비어 있음)

2.3. 초기화

배열을 정의하면서 초기 값을 지정할 수 있습니다.

const colors = ["red", "green", "blue"];


3. 배열 메서드

JavaScript 배열은 다양한 메서드를 제공하여 배열을 조작하고 처리할 수 있습니다.

3.1. 배열 접근

  • 인덱스를 통한 접근: 배열의 특정 요소에 접근할 수 있습니다.
const fruits = ["apple", "banana", "cherry"];
console.log(fruits[0]); // 출력: apple
console.log(fruits[1]); // 출력: banana

3.2. 배열 추가 및 삭제

  • push(): 배열의 끝에 요소를 추가합니다.
fruits.push("orange");
console.log(fruits); // 출력: ["apple", "banana", "cherry", "orange"]

  • pop(): 배열의 마지막 요소를 제거하고 반환합니다.
const lastFruit = fruits.pop();
console.log(lastFruit); // 출력: orange
console.log(fruits); // 출력: ["apple", "banana", "cherry"]

  • unshift(): 배열의 시작 부분에 요소를 추가합니다.
fruits.unshift("mango");
console.log(fruits); // 출력: ["mango", "apple", "banana", "cherry"]

  • shift(): 배열의 첫 번째 요소를 제거하고 반환합니다.
const firstFruit = fruits.shift();
console.log(firstFruit); // 출력: mango
console.log(fruits); // 출력: ["apple", "banana", "cherry"]

3.3. 배열 변경

  • splice(): 배열의 특정 위치에서 요소를 추가하거나 제거합니다.
fruits.splice(1, 1, "kiwi"); // 인덱스 1에서 1개 요소 제거하고 "kiwi" 추가
console.log(fruits); // 출력: ["apple", "kiwi", "cherry"]

  • slice(): 배열의 일부분을 추출하여 새로운 배열을 반환합니다.
const citrus = fruits.slice(1, 3); // 인덱스 1부터 3 미만의 요소를 포함
console.log(citrus); // 출력: ["kiwi", "cherry"]

3.4. 배열 탐색

  • forEach(): 배열의 각 요소에 대해 제공된 함수를 실행합니다.
fruits.forEach((fruit) => {
    console.log(fruit);
});
// 출력:
// apple
// kiwi
// cherry

  • map(): 배열의 각 요소에 대해 함수를 실행하고, 그 결과로 새로운 배열을 반환합니다.
const lengths = fruits.map(fruit => fruit.length);
console.log(lengths); // 출력: [5, 4, 6]

  • filter(): 조건에 맞는 요소들로 구성된 새로운 배열을 반환합니다.
const longFruits = fruits.filter(fruit => fruit.length > 4);
console.log(longFruits); // 출력: ["apple", "cherry"]

  • find(): 조건을 만족하는 첫 번째 요소를 반환합니다.
const foundFruit = fruits.find(fruit => fruit.startsWith("c"));
console.log(foundFruit); // 출력: cherry

3.5. 배열 정렬

  • sort(): 배열을 정렬합니다. 기본적으로 문자열로 정렬되므로, 숫자 정렬 시 주의가 필요합니다.
const numbers = [3, 1, 4, 2];
numbers.sort();
console.log(numbers); // 출력: [1, 2, 3, 4]

numbers.sort((a, b) => a - b); // 숫자 정렬
console.log(numbers); // 출력: [1, 2, 3, 4]

  • reverse(): 배열의 순서를 뒤집습니다.
fruits.reverse();
console.log(fruits); // 출력: ["cherry", "kiwi", "apple"]

3.6. 배열 변환

  • join(): 배열의 모든 요소를 문자열로 결합합니다.
const fruitString = fruits.join(", ");
console.log(fruitString); // 출력: "cherry, kiwi, apple"


4. 배열 복사 및 병합

4.1. 배열 복사

  • *slice()*를 사용하여 배열을 복사할 수 있습니다.
const newFruits = fruits.slice(); // 얕은 복사
console.log(newFruits); // 출력: ["cherry", "kiwi", "apple"]

4.2. 배열 병합

  • concat(): 두 개 이상의 배열을 병합합니다.
const tropicalFruits = ["pineapple", "mango"];
const allFruits = fruits.concat(tropicalFruits);
console.log(allFruits); // 출력: ["cherry", "kiwi", "apple", "pineapple", "mango"]

  • 스프레드 연산자를 사용하여 배열을 병합할 수도 있습니다.
const combinedFruits = [...fruits, ...tropicalFruits];
console.log(combinedFruits); // 출력: ["cherry", "kiwi", "apple", "pineapple", "mango"]


5. 배열의 특징

  • 동적 크기: 배열은 고정된 크기를 가지지 않으며, 요소를 추가하거나 제거할 수 있습니다.
  • 혼합 데이터 타입: 배열은 서로 다른 데이터 타입을 포함할 수 있습니다.
const mixedArray = [1, "two", { key: "value" }, [1, 2, 3]];
console.log(mixedArray); // 출력: [1, "two", { key: "value" }, [1, 2, 3]]


6. 요약

  • 배열: JavaScript에서 여러 값을 저장할 수 있는 동적 데이터 구조입니다.
  • 메서드: 다양한 내장 메서드(push(), pop(), map(), filter(), join(), sort() 등)를 제공하여 배열을 쉽게 조작할 수 있습니다.
  • 특징: 배열은 동적 크기를 가지며, 서로 다른 데이터 타입을 포함할 수 있습니다.

JavaScript의 배열을 효과적으로 이해하고 활용하면, 데이터 관리를 더욱 효율적으로 할 수 있습니다. 다양한 배열 메서드를 실습해보며, 배열의 힘을 경험해 보세요!


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com