코딩 스쿨 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 Array Methods

JavaScript Array Methods: 배열 조작의 이해와 활용

JavaScript의 **배열(Array)**은 데이터를 관리하고 조작하는 데 매우 유용한 데이터 구조입니다. 배열은 다양한 내장 메서드를 제공하여 요소 추가, 삭제, 검색, 정렬 등을 손쉽게 수행할 수 있습니다. 이 가이드는 JavaScript 배열 메서드의 종류와 사용법을 자세히 설명합니다.


1. 배열 메서드 개요

JavaScript 배열 메서드는 배열의 내용을 수정하고, 새로운 배열을 생성하며, 배열 요소에 대한 다양한 작업을 수행하는 데 사용됩니다. 대부분의 메서드는 원본 배열을 변경하지 않고 새로운 배열을 반환합니다.


2. 주요 배열 메서드

2.1. 배열 생성 및 초기화

  • 배열 리터럴
const fruits = ["apple", "banana", "cherry"];

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


2.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"]

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


2.3. 배열 탐색 및 변경

  • 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

2.4. 배열 정렬 및 순서 변경

  • 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"]


2.5. 배열 변환 및 결합

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

  • 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"]

2.6. 배열 복사

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

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


3. 배열의 특징

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


4. 배열 관련 주의사항

  • 배열 요소의 인덱스: 배열의 인덱스는 0부터 시작하므로, 첫 번째 요소는 array[0]으로 접근해야 합니다.
  • 길이 변경: 배열의 length 속성을 변경하면 배열의 요소가 제거되거나 추가될 수 있습니다.
const array = [1, 2, 3];
array.length = 2; // 요소가 잘려나감
console.log(array); // 출력: [1, 2]


5. 요약

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

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


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