[JavaScript 심화] 배열 메서드 (요소 조작)

2025. 11. 10. 19:31·React/JavaScript 심화
배열의 데이터를 추가, 삭제, 잘라내기, 병합할 때 사용하는 가장 기본적이면서 자주 쓰이는 메서드 6가지를 정리해봄

1. `push()`

배열 맨 뒤에 요소를 추가하는 메서드
let arr1 = [1, 2, 3];
const newLength = arr1.push(4, 5, 6);

console.log(arr1);      // [1, 2, 3, 4, 5, 6]
console.log(newLength); // 6 (추가 후의 배열 길이)
  • 여러 개의 요소를 한 번에 추가 가능
  • 원본 배열이 변경됨

2. `pop()`

배열 맨 뒤에 요소를 제거하고 반환
let arr2 = [1, 2, 3];
const poppedItem = arr2.pop();

console.log(arr2);      // [1, 2]
console.log(poppedItem); // 3
  • 원본 배열이 변경됨
  • 제거된 값을 반환
  • `push()`와 함께 Stack(스택, LIFO) 구현 시 자주 사용

3. `shift()`

배열 맨 앞의 요소를 제거하고 반환
let arr3 = [1, 2, 3];
const shiftedItem = arr3.shift();

console.log(arr3);       // [2, 3]
console.log(shiftedItem); // 1
  • 원본 배열이 변경됨
  • 배열의 첫 번째 요소를 제거
  • 내부 인덱스를 전부 재정렬 해야하므로 `pop()`, `push()`보다 성능이 느림

4. `unshift()`

배열 맨 앞에 새로운 요소를 추가
let arr4 = [1, 2, 3];
const newLength2 = arr4.unshift(0);

console.log(arr4);       // [0, 1, 2, 3]
console.log(newLength2); // 4
  • 원본 배열이 변경됨
  • 맨 앞에 추가하면서 나머지 인덱스가 밀림
  • `push()`, `pop()`보다 성능이 느림

5. `slice()`

두 배열을 병합하여 새로운 배열로 반환
let arr5 = [1, 2, 3, 4, 5];
let sliced = arr5.slice(1, 4);
let sliced2 = arr5.slice(1);
let sliced3 = arr5.slice(-2);

console.log(arr5);    // [1, 2, 3, 4, 5]
console.log(sliced);  // [2, 3, 4]
console.log(sliced2); // [2, 3, 4, 5]
console.log(sliced3); // [4, 5]
  • 원본 배열이 변경되지 않음
  • 인덱스 기준: `slice(start, end)` -> `end`는 포함되지 않음
  • 음수 인덱스(`-2`)로 뒤에서부터 접근 가능

6. `concat()`

두 배열을 병합하여 새로운 배열로 반환
let arr6 = [1, 2];
let arr7 = [3, 4];

let concatedArr = arr6.concat(arr7);
console.log(concatedArr); // [1, 2, 3, 4]
  • 원본 배열이 변경되지 않음
  • 여러 배열 또는 값도 한 번에 연결 가능
let result = arr6.concat(arr7, [5, 6], 7);
console.log(result); // [1, 2, 3, 4, 5, 6, 7]

정리

메서드 동작 원본 변경 반환값 특징
`push()` 뒤에 요소 추가 ✅ 변경 새로운 길이 여러 요소 추가 가능
`pop()` 뒤 요소 제거 ✅ 변경 제거된 값 스택에서 자주 사용
`shift()` 앞 요소 제거 ✅ 변경 제거된 값 느림 (재정렬 필요)
`unshift()` 앞 요소 추가 ✅ 변경 새로운 길이 느림 (재정렬 필요)
`slice()` 일부 복사 ❌ 불변 새로운 배열 end 인덱스 미포함
`concat()` 배열 병합 ❌ 불변 새로운 배열 여러 배열·값 연결 가능

'React > JavaScript 심화' 카테고리의 다른 글

[JavaScript 심화] 배열 메서드 (배열 변형)  (0) 2025.11.10
[JavaScript 심화] 배열 메서드 (요소 순회 & 탐색)  (0) 2025.11.10
[JavaScript 심화] 순회 정리  (0) 2025.11.10
[JavaScript 심화] Spread & Rest  (0) 2025.11.03
[JavaScript 심화] 구조 분해 할당  (0) 2025.11.03
'React/JavaScript 심화' 카테고리의 다른 글
  • [JavaScript 심화] 배열 메서드 (배열 변형)
  • [JavaScript 심화] 배열 메서드 (요소 순회 & 탐색)
  • [JavaScript 심화] 순회 정리
  • [JavaScript 심화] Spread & Rest
이도서
이도서
  • 이도서
    도서의 코딩노트
    이도서
  • 전체
    오늘
    어제
    • 분류 전체보기 (249)
      • Today I Learned (79)
        • 2024 (78)
      • Swift (25)
        • Swift 문법 정리 (19)
        • RxSwift (5)
      • Swift Study (12)
        • Playground (2)
        • Storyboard (9)
        • UIKit (1)
      • Flutter (27)
        • Dart 언어 (16)
        • Flutter Study (11)
      • React (37)
        • HTML & CSS (8)
        • JavaScript 기본 (12)
        • JavaScript 심화 (14)
        • Node.js (2)
        • React (1)
      • Git (3)
      • 코딩테스트 (60)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 개발 공부 공유 링크
  • 인기 글

  • 태그

    javascript
    function
    Flutter
    Swift
    DART
    React
    객체지향
    코딩테스트 level.1
    storyboard
    iOS앱개발
    ios
    Til
    함수
    html
    ios앱개발자
    코딩테스트Level.1
    코딩테스트
    내일배움캠프
    CLASS
    javascript 기본
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이도서
[JavaScript 심화] 배열 메서드 (요소 조작)
상단으로

티스토리툴바